安装部署只读库的时候,从主库备份数据,一切正常的,但是导入数据的时候,报错了,信息如下:
ERROR 1050 (42S01) at line 154: Table 'columns_priv' already exists
查找了下,是卡在导入数据的时候,有一个操作是
create table columns_priv(
......
.....
);
但是新部署的只读库里面,mysql.columns_priv已经存在了,所以报错,load进程退出了。
问题解决办法,就是在backup主库数据的时候,添加上一些参数,让mysqldump出来的时候,
--add-drop-database
每个数据库创建之前添加drop数据库语句。
--add-drop-table
每个数据表创建之前添加drop数据表语句。(默认为打开状态,使用--skip-add-drop-table取消选项)
mysqldump -uroot -p --all-databases --add-drop-database --add-drop-table ......
这样就变成了
drop table columns_priv;
create table if not exists columns_priv(
......
.....
);
能顺利load进去了,只读库也顺利建完成了。