原创| 开发动态| 一个月前| 阅读 287 次 | 7赞同 3反对
概述:mysql5.5和mysql5.6是个性能分水岭,mysql5.6较5.5其中有一个很大的好处,比如给表加字段的时候,5.5或以前的版本会锁表,5.6就不会锁表,而且速度很快,在负载均衡上提升了。
虽然现在很多网络应用数据库都用上了MySql8.0.19了,但是wdcp的很多用户默认还在使用着老旧的Mysql5.5,一步从Mysql5.5升级到Mysql8.0或许让很多用户感到不安,万一挂了怎么办?那么你可以先试试Mysql5.5升级到Mysql5.6,当然这个教程也支持你升级到5.7。
接下来让我们8步,在Linux上实现这个过程(以下步骤在CentOs中实验有效),
1. 备份数据库文件中的data文件夹
service mysqld stop mkdir -p /www/wdlinux/mysql_bk cp -pR /www/wdlinux/mysql/data/* /www/wdlinux/mysql_bk mv /www/wdlinux/etc/my.cnf /www/wdlinux/etc/my_old.cnf2. 编译高版本数据库的环境
yum install cmake gcc gcc-c++ make zlib-devel ncurses-devel bison -y3. 下载和编译安装5.6/5.7,用时约20分钟
wget https://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.44.tar.gz tar -zxvf mysql-5.6.44.tar.gz cd mysql-5.6.44 cmake -DCMAKE_INSTALL_PREFIX=/www/wdlinux/mysql-5.6.44 -DMYSQL_DATADIR=/www/wdlinux/mysql-5.6.44/data -DDOWNLOAD_BOOST=1 -DWITH_BOOST=boost/boost_1_59_0/ -DSYSCONFDIR=/www/wdlinux/etc -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_PARTITION_STORAGE_ENGINE=1 -DWITH_FEDERATED_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_EMBEDDED_SERVER=1 -DENABLE_DTRACE=0 -DENABLED_LOCAL_INFILE=1 -DDEFAULT_CHARSET=utf8mb4 -DDEFAULT_COLLATION=utf8mb4_general_ci -DEXTRA_CHARSETS=all make && make install4. 修改快捷方式目录,从原目录指向新目录
rm -f /www/wdlinux/mysql ln -sf /www/wdlinux/mysql-5.6.44 /www/wdlinux/mysql5. 初始化mysql在wdcp中的配置
sh scripts/mysql_install_db.sh --user=mysql --basedir=/www/wdlinux/mysql --datadir=/www/wdlinux/mysql/data chown -R mysql.mysql /www/wdlinux/mysql/data6. 还原数据库数据,这里注意了,还备份了mysql数据库的
mv /www/wdlinux/mysql/data/mysql /www/wdlinux/mysql/data/mysql1 cp -pR /www/wdlinux/mysql_bk/* /www/wdlinux/mysql/data/ cp support-files/mysql.server /www/wdlinux/init.d/mysqld cp support-files/mysql.server /etc/init.d/mysqld chmod 755 /www/wdlinux/init.d/mysqld chmod 755 /etc/init.d/mysqld7. 启动数据库,验证是否成功,如果成功可以重启服务器进入稳定运行
service mysqld start mysql_upgrade -uroot -ppwd reboot8. 有的朋友在重启之后发现数据库中InnoDb数据库表无法打开,则执行这一步
cp /www/wdlinux/mysql_bk/ibdata1 /www/wdlinux/mysql/data cd /www/wdlinux/mysql/data rm *.err rm *.pid service mysqld restart最后一步是重建InnoDb的数据表,希望本篇对遇到问题的朋友有所帮助。
如果你在转移过程中有任何问题,请加QQ 554305954联系我。
本频道需要登陆后才能评论,请登录