ERROR 1050 (42S01) at line 154: Table ‘columns_priv‘ already exists

安装部署只读库的时候,从主库备份数据,一切正常的,但是导入数据的时候,报错了,信息如下:

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进去了,只读库也顺利建完成了。