Linux无ROOT权限安装Mysql 5.7

来源:互联网 发布:灌砂法测压实度软件 编辑:程序博客网 时间:2024/06/08 10:14

1. 下载Linux版本的Mysql的编译后压缩文件tar.gz,在linux中解压

2. 初始化:

  创建datadir文件夹(数据文件目录)   输入:  `[view@dev-app1 bin]$ ./mysqld --initialize --datadir=/home/view/ckl/mysql/data --user=view --basedir=/home/view/ckl/mysql `   输出(最后一行):   `17-08-10T00:58:34.686156Z 1 [Note] A temporary password is generated for root@localhost: fuJu.RPlH5lo`

ps:

  • 其中basedir为mysql应用程序的目录 输出最后一行最后的字符为账户初始密码
  • 如果datadir中有数据,会提示失败,记得每次初始化的时候清空datadir(注意备份)
  • 由于我们没有root权限,/var/等目录没有创建文件的权限,一定要指定datadir和basedir,init只需要这两个目录,如果不指定,mysqld会去my.cnf中寻找设置,实在不行会使用默认值,另外mysql查找配置文件的顺序为:

/etc/my.cnf---->/etc/mysql/my.cnf----->/usr/local/mysql/etc/my.cnf---->~/.my.cnf

  • MySQL 5.7 新特性之初始化

3. 启动mysql服务

修改my.cnf文件(没有就自己创建)

[client]socket=/home/view/ckl/mysql/mysql.sockbasedir=/home/view/ckl/mysqldatadir=/home/view/ckl/mysql/datalog-error=/home/view/ckl/mysql/mysql-log/mysql.err[mysqld]socket=/home/view/ckl/mysql/mysql.sockuser=viewbasedir=/home/view/ckl/mysqldatadir=/home/view/ckl/mysql/datalog-error=/home/view/ckl/mysql/mysql-log/mysql.errtmpdir=/home/view/ckl/mysql/tmppid-file=/home/view/ckl/mysql/mysql.pid[mysqld_safe]pid-file=/home/view/ckl/mysql/mysql.pidsocket=/home/view/ckl/mysql/mysql.sockuser=viewbasedir=/home/view/ckl/mysqldatadir=/home/view/ckl/mysql/datalog-error=/home/view/ckl/mysql/mysql-log/mysql.errtmpdir=/home/view/ckl/mysql/tmp 

这个文件的详细解释见MySQL配置文件my.cnf的理解
mysql socket文件作用详解
Mysql参数详解

启动服务

[view@dev-app1 mysql]$ ../bin/mysqld --defaults-file=/home/view/ckl/mysql/my.cnf --port=9999

ps:
- 如果过程中有错误,请去你定义的err文件目录下查看具体错误信息,如果正常启动了,应该是有一个常闪的光标,请开启另外一个界面进行登录操作。
- 可以不指定port,默认3306(可能会有冲突),应该也可以在my.cnf中设置。

4. 登录数据库

[view@dev-app1 mysql]$ ./bin/mysql -uroot -p -S ./mysql.sock

指定你开启服务用的mysql.sock,因为登录时还是默认用的/tmp/mysql.sock,至于为什么在my.cnf中设置了还要指定,具体不知,后面再看。(目前看来应该是client登录时读并没有用之前启动服务用的my.cnf,而是去默认顺序里找cnf配置文件里的设置:sudo find / -name my.cnf sudo mysql –help | grep my.cnf这两个语句可以查看到默认的顺序) 也可以利用ln -s 去连接tmp中的sock到你sock就不用-S(等于-socket)了。

第一次登陆需要更改密码:
mysql> alter user 'root'@'localhost' identified by '123456';

原创粉丝点击