MySQL5.7.14安装过程:
下载5.7版本:wget http://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.14-linux-glibc2.5-x86_64.tar.gz
创建目录:mkdir -P /opt/ mysql
进入目录:cd /opt/ mysql
解压mysql安装包:tar zxvf /data/mysql-5.7.14-linux-glibc2.5-x86_64.tar.gz
创建软连接:ln -s /opt/mysql-5.7.14-linux-glibc2.5-x86_64 /usr/local/mysql
创建用户:groupadd mysql
指定用户:useradd -M -g mysql -s /sbin/nologin -d /usr/local/mysql mysql
创建基本目录:mkdir -p /data/mysql/mysql3306/{data, logs, tmp}
更改属主:chown -R mysql:mysql /data/mysql/mysql3306
创建my.cnf文件放在:/etc/my.cnf,my.cnf到处都有,推荐叶金荣老师的在线生成:http://imysql.cn/author/yejr
安装:cd /usr/local/mysql/
./bin/mysqld --initialize
指定配置文件初始化: ./bin/mysqld --defaults-file=/etc/my.cnf --initialize
创建启动脚本:cd /usr/local/mysql/
cp support-files/mysql.server /etc/init.d/mysql
注意:5.7 初始化会加一个默认的密码,存放在error log里面,/data/mysql/mysql3306/data/error.log
在error.log中过滤出密码:cat /data/mysql/mysql3306/data/error.log |grep password 按照这样可以得到密码
2016-08-03T01:57:04.398037Z 1 [Note] A temporary password is generated for root@localhost: Fb&CYhv6UlwP
密码就是: Fb&CYhv6UlwP
启动及停止:/etc/init.d/mysql start |stop|restart
将启动脚本放入环境变量:echo "export PATH=$PATH:/usr/local/mysql/bin" >>/etc/profile
source /etc/profile
登入之后发现前面有unknown的提示,这时我们要更改用户:alter user user() identified by 'liu123';
改完之后就变成root@localhost,可以操作数据库了。
MySQL软连接的好处是小版本变更或者版本微调都很容易:
停止数据库:/etc/init.d/mysql stop
清除软连接:unlink /usr/local/mysql
建立新的版本的软连接:ln -s /opt/mysql/mysql-5.7.20 /usr/local/mysql
启动MySQL:/etc/init.d/mysql start
注意:大版本的变更还是要upgrade!
mysql文件加载顺序:
1:首先会读取/etc/my.cnf
2:然后读取/etc/mysql/my.cnf
3:第三个是/usr/local/mysql/etc/my.cnf
4:最后加载 ~/.my.cnf
注意:上面所有的文件都会加载一遍,没有就跳过,mysql是后面的文件参数覆盖前面文件参数的,但是如果指定了defaults-file这个参数,只会读给定位置的配置文件。所以最好在启动或者初始化的时候指定好配置文件:--defaults-file=/etc/my.cnf。
数据库的启动归根结底是调用mysqld:
1):标准方式 --- 这两种方式相等。
service mysqld start
/etc/init.d/mysql start (这里的mysql来自 -- cp /use/local/mysql/support-file/mysql.server /etc/init.d/mysql)。
2):以下三种方式,用于启动多实例:
/use/local/mysql/bin/mysqld_safe --defaults-file=/path/my.cnf &
/use/local/mysql/bin/mysqld --defaults-file=/path/my.cnf &
/use/local/mysql/bin/mysqld_multi start 3306
3):设置MySQL自启动:但是生产环境不建议开启自启动,不便于排查问题。
chkconfig —add mysql