【指导】mysql 升级:5.5-->5.6
写在一开始:1,非专业DBA,数据库升级,总是心惊胆战,有条件的换个机器测试一遍;没条件的,搭个虚拟机多试试,一定不要想当然,不然会死的很惨。2,不能跳版,死了活该。进入正题,升级数据库,不要着急,一步步慢慢走:1,仔细查看目标版本的 release notes,看看各项变更,有没有影响自己的;2,备份数据库,以防各种万一:1)Dumping 数据为 SQL 格
写在开始:
1,非专业的DBA升级数据库,有条件的换个机器测试一遍;没条件的搭个虚拟机多试试,一定不要想当然,不然会死的很惨。
2,不能跳版,死了活该。
进入正题,升级数据库,不要着急,一步步慢慢走:
1,仔细查看目标版本的 release notes,看看各项变更,有没有影响自己的;
2,备份数据库,以防各种万一:
1)Dumping 数据为 SQL 格式:
mysqldump -u root -p --all-databases --events > dump.sql
2)备份配置文件
tar cvfvz mysql_conf.tgz /etc/mysql
3)备份lib库
tar cvfvz mysql_data.tgz /var/lib/mysql
3,关闭数据库
1)设置 innodb_fast_shutdown 为 0,slow模式可以确保 buffer 中的数据都能写到 file 中,保证数据的完整性
mysql -u root -p --execute="set global innodb_fast_shutdown=0"
2)关闭数据库
mysqladmin -u root -p shutdown
4,升级数据库
1)安装 mysql apt repo
附如下版本的下载路径:http://dev.mysql.com/downloads/repo/apt/
wget http://dev.mysql.com/get/mysql-apt-config_0.7.3-1_all.deb
sudo dpkg -i mysql-apt-config_0.7.3-1_all.deb
选择需要的版本(可选:5.6/5.7 server)。如果选错了,以后可再改:
sudo dpkg-reconfigure mysql-apt-config
2)更新源并安装
sudo apt-get update
sudo apt-get install mysql-server
安装过程中会提示 my.conf 修改,差异的地方需要自行记录下来,比如字符集,需要再修改回去:
如下是修改字符集的片段:
[mysqld]
character-set-server=utf8
collation-server=utf8_general_ci
修改配置文件需要重启数据库,修改后检查下状态和版本:
sudo service mysql status
dpkg -l | grep mysql | grep ii
3)使用 mysqld_safe 配置数据目录:
mysqld_safe --user=mysql --datadir=/var/lib/mysql
4)mysql_upgrade:
mysql_upgrade -u root -p
5,核对数据
写在最后:
1,怎么导入备份?
mysql -u root -p
mysql> source dump.sql
2,升级中的问题:
问题1:reload dump 文件的时候,提示:
ERROR 1449 (HY000) at line 3430: The user specified as a definer ('xxxx'@'%') does not exist
方法:mysql>FLUSH PRIVILEGES;
之后重新执行 reload dump 操作,注意 root 密码已改为源库密码。
问题2:apt 升级安装的时候,提示:
No directory, logging in with HOME=/
mysqld_safe Can't log to error log and syslog at the same time. Remove all --log-error configuration options for --syslog to take effect.
方法:欢迎回复:)
更多推荐
所有评论(0)