企业案例

1.项目背景

公司原有的架构:一个展示型的网站,LAMT,MySQL5.1.77版本(MYISAM),50M数据量

1)经常出现小问题

1.表级锁:对表中任意一行数据修改类操作时,整个表都会锁定,对其他行的操作都不能同时进行。
2.不支持故障自动恢复(CSR):当断电时有可能会出现数据损坏或丢失的问题

2)提出问题解决方案

1.提建议将现有的MYISAM引擎替换为Innodb,将版本替换为5.6.38
    1)如果使用MYISAM会产生”小问题”,性能安全不能得到保证,使用innodb可以解决这个问题。
    25.1.77版本对于innodb引擎支持不够完善,5.6.38版本对innodb支持非常完善了。
2.实施过程和注意要素

2.实施过程

#1.准备一台新数据库服务器
#2.设置新数据库密码
#3.备份旧数据库数据
[root@db01 ~]# mysqldump -uroot -p -A > /tmp/full.sql
[root@db01 ~]# mysqldump -uroot -p -B  -R --triggers --single-transaction --master-data=2 > /tmp/full1.sql
#4.将数据推到远端服务器
[root@db01 ~]# scp /tmp/full.sql 172.16.1.52:/tmp/
#5.修改存储引擎为InnoDB
[root@db02 ~]# sed -i 's#ENGINE=MyISAM#ENGINE=InnoDB#g' /tmp/full.sql
#6.将数据导入新库
[root@db02 ~]# mysql -uroot -p < /tmp/full.sql 
Enter password:
#7.查看新库数据的存储引擎
#8.将业务切换到新库进行存储

#9.根据binlog打点备份获取到数据迁移过程中产生的新数据,导入新库
原文地址:https://www.cnblogs.com/chenlifan/p/13907342.html