因工作需求,存在将mysql5.6升级至mysql5.7情况,记录升级情况,避免后续遗忘。
1.首先确认库已经未在使用,无正常业务连接接入,确认无误后,停止mysql服务
2.从mysql官网下载对应需要升级到的mysql版本,拷贝至需要升级的服务器上,将文件存放在/usr/local目录下,并解压tar包,将对应目录重命名为mysql,即/usr/local/mysql
3.修改目录权限,将/usr/local/mysql目录所有人及组均修改为mysql
4.此时至计划好的数据盘,首先将原先的mysql5.6的对应数据盘目录重命名或直接删除掉,重建mysql数据目录,并将目录所有人及组均修改为mysql
5.检查默认/etc/my.cnf文件,注释掉其中的thread_concurrency参数,该参数在mysql5.7中已经废弃,若不注释,无法正常启动
6.进入/usr/local/mysql/bin目录,执行./mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql,其中basedir及datedir根据自身mysql包存放位置自行变更
7.进入/usr/local/mysql/support-file目录下,将mysql.server文件修改好,将对应basedir及datadir目录信息录入,并将此文件cp至/etc/init.d/目录下,并改名为mysql
8.进入/usr/bin目录,删除一切mysql开头的文件,以及部分myisam开头的文件,然后创建软连接将现在basedir目录下bin文件指向/usr/bin下,ln -s /usr/local/mysql/bin/* /usr/bin,检查软连接是否蒋健成功,若存在失败则是因为原先5.6的未删除完毕,重新删除再对应建立软连接即可
9.启动mysql服务,/etc/init.d/mysql start,检查是否启动成功,若失败,则按照报错日志检查
10.查看errorlog找到初始化密码,使用初始化root密码登录mysql,登录成功后set password=password('your_password');此时退出则可以使用自行设置的密码登录mysql,若需要在远程使用root登录,则需要执行两步grant all privileges on *.* to 'root'@'%' identified by 'your_password';flush privileges;
11.添加系统路径,vim /etc/profile,新增export PATH=/usr/local/mysql/bin:$PATH,修改结束后source /etc/profile
12.配置mysql自启动chmod 755 /etc/init.d/mysql chkconfig --add mysql chkconfig --level 345 mysql on
至此,mysql升级完毕