mysql复制成功,现在想把从数据库改成其他名字。目前在配置文件中添加了
replicate-rewrite-db = old -> new。总出错误,我试过两种方法:
1 从服务器配置文件中添加replicate-rewrite-db = old -> new。主服务器重新建立 old 库,随即从服务器上生成old库
2 从服务器配置文件中添加replicate-rewrite-db = old -> new。主从服务器分别建立old和new空库。old库中添加数据后,new库中也随即添加数据,但当修改old库中数据时,发生错误,new库没更改
replicate-rewrite-db = old -> new。总出错误,我试过两种方法:
1 从服务器配置文件中添加replicate-rewrite-db = old -> new。主服务器重新建立 old 库,随即从服务器上生成old库
2 从服务器配置文件中添加replicate-rewrite-db = old -> new。主从服务器分别建立old和new空库。old库中添加数据后,new库中也随即添加数据,但当修改old库中数据时,发生错误,new库没更改
就是先建立主从数据库old和new,向old库中导入数据,new上直接就复制过去了,但当更改old的数据时,new库没有更新,显示错误。
log-bin=mysql-bin
master-host=192.168.1.160
master-user=repl
master-password=test
master-port=3306
replicate-rewrite-db=old->new
CHANGE MASTER TO MASTER_HOST = '192.168.1.160',
MASTER_USER = 'repl' ,
MASTER_PASSWORD = 'test',
MASTER_LOG_FILE = 'mysql-bin.000001',
MASTER_LOG_POS = 106; 下图为我配置复制完成后的显示界面
配置完成后向old库导入数据,此时new库能直接复制,查看数据库如下:当修改old库时出错,查看从服务器的slave status显示如下您留个联系方式吧,QQ或邮箱什么的,现在在的这家公司没有专门做数据库的,做起来有点吃力,呵呵。
replicate-rewrite-db=old->new这个命令主从都要配置吗?还是只用从机器配置?
我又试了几次还是不行,只要在主服务器上修改表内容从服务器就显示“error table 'old.table_user' doesn't exist on query.Default database 'new'. ”
然后在主从服务器上分别建立old和new数据库,之后在old中建立表test_rewrite,再插入数据,在对比old和new中的数据都是一样的。没有问题。你是否是主从同步哪里出了小问题导致的?