频道栏目
首页 > 数据库 > MySQL > 正文
mysql replication修改库名
2011-07-22 10:33:37           
收藏   我要投稿

mysql replication 修改库名

--replicate-rewrite-db=from_name->to_name


Command-Line Format --replicate-rewrite-db=old_name->new_name
Option-File Format replicate-rewrite-db
  Permitted Values
Type        string


Tells the slave to translate the default database (that is, the one selected by USE) to to_name if it was from_name on the master. Only statements involving tables are affected (not statements such as CREATE DATABASE, DROP DATABASE, and ALTER DATABASE), and only if from_name is the default database on the master. This does not work for cross-database updates. To specify multiple rewrites, use this option multiple times. The server uses the first one with a from_name value that matches. The database name translation is done before the --replicate-* rules are tested.
If you use this option on the command line and the “>” character is special to your command interpreter, quote the option value. For example:
shell> mysqld --replicate-rewrite-db="olddb->newdb"
 
适用情况:
比如,master与slave同步test这个库,但因为需要slave需要将test改名为testbak,master不能改,就需要这个参数
在my.cnf中加入
binlog-do-db=test
replicate-rewrite-db=test->testbak
重启mysql,在master的test库修改东西,看slave的hackers库是否已经修改。查看show slave status是否正常。
 
总结一下:slave修改库名,master不变的情况下
 
 
题外话:在遇到slave query 同步错误时,可以使用如下方法解决:
slave stop;
set global sql_slave_skip_counter=1;
slave start;
不过有可能会丢失数据。先看清楚是因为什么导致的错误。

点击复制链接 与好友分享!回本站首页
上一篇:myspl数据库分区
下一篇:MySQL编译报错问题
相关文章
图文推荐
文章
推荐
点击排行

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站