由于数据库版本过低 & 磁盘空间太小,故需进行各方面指标的升级。
- 本来是想用heidisql自带的跨库迁移工具进行迁移,可是由于数据量比较大(70G), 且经过测试,并发最高在10000/s条左右,故最后放弃,选择使用mysqldump。
- linux下直接
- --host=sourceip -uroot -proot -C --databases dbname|mysql --host=destinationip -uroot -proot dbname
缺点是会锁表,适用于业务活跃度不高的场景。
-- 忽略某些表
mysqldump --host=sourceip -uroot -proot -C --databases dbname --ignore-table=dbname.tablename|mysql --host=destinationip -uroot -proot dbname
-- 指定某张表
mysqldump --host=sourceip -uroot -proot -C --databases dbname --tables tablename|mysql --host=destinationip -uroot -proot dbname
-- 后遗症
- 迁移过后,数据无法插入,报了个mysql的经典错误:data truncated for column at row 1
想了下应该是sql_mode 的关系,把数据格式給限制住了,结果 select @@global.sql_mode 一看 确实有很多限制,干脆索性直接设置为空算了,
set global sql_mode = '问题解决'
当然这不是一劳永逸的,重启mysql服务后会失效,所以还要去 my.cnf 修改一波:
mysqld]
sql_mode = ''
grsfedcttt
你的文章内容非常卖力,让人点赞。 https://www.4006400989.com/qyvideo/19496.html
gobmlzkkor
你的文章让我感受到了正能量,非常棒! https://www.4006400989.com/qyvideo/19117.html
hckcfjkmrj
怎么收藏这篇文章?