搭建(192.168.1.10 -> 192.168.1.20)

1 master 上执行

阻塞 DML
flush tables with read lock;

记录 File 和 Position
show master status;

mysqldump -u root -p --all-databases > /data/dbbak/db.dmp

如果此 master 同时亦为 slave
mysqldump -u root -p --all-databases --dump-slave > /data/dbbak/db.dmp

unlock tables;

scp /data/dbbak/db.dmp mysql@192.168.1.20:/data/dbbak

2 slave 上执行

如果备份产生于 slave
mysqladmin -u root -p shutdown
/usr/local/mysql/bin/mysqld_safe --user=mysql --skip-slave-start &

mysql -u root -p < /data/dbbak/db.dmp

3 master 上执行

[mysqld]
server-id = 110
log-bin = /data/mysql/mysql-bin
binlog_format = MIXED
skip-slave-start = 1
#auto_increment_offset = 1
#auto_increment_increment = 1

create user 'repl'@'192.168.1.20' identified by 'xxxxxxxx';
grant replication slave on *.* to 'repl'@'192.168.1.20';

明: 这里的IP指的从库的IP,如主库是192.168.1.10,这里加的连接用户是:192.168.1.20,不是1.10的IP。

4 slave 上执行

[mysqld]
server-id = 120
log-bin = /data/mysql/mysql-bin
binlog_format = MIXED
skip-slave-start = 1
relay-log = rep_relay_log
relay-log-index = rep_relay_log
read_only = 1
#sync_master_info = 0
#sync_relay_log = 0
#sync_relay_log_info = 0
#log-slave-updates = 1
#replicate-rewrite-db = cisdb -> newdb
#replicate-do-db = cisdb
#replicate-ignore-db = cisdb
#replicate-do-table = cisdb.t1
#replicate-ignore-table = cisdb.t1
#replicate-wild-do-table = cisdb.%
#replicate-wild-ignore-table = cisdb.%
#slave-skip-errors = xxxx,xxxx
#relay_log_purge
#relay_log_space_limit
#slave_exec_mode
#slave_compressed_protocol
#slave_parallel_workers

change master to
MASTER_HOST='192.168.60.202',
MASTER_USER='repl',
MASTER_PASSWORD='1',
MASTER_LOG_FILE='mysql-bin.000001',
MASTER_LOG_POS=120;

start slave;

5 salve 上执行

检查 Slave_IO_Running 和 Slave_SQL_Running 是否为 Yes
检查 Seconds_Behind_Master
show slave status\G;

检查 Slave_SQL_Running 线程的 Time 值(延时,单位为秒)
show processlist\G;

为方便主从切换:
create user 'repl'@'192.168.1.10' identified by 'xxxxxxxx';
grant replication slave on *.* to 'repl'@'192.168.1.10';

明: 这里的IP指的从库的IP,如从库是192.168.1.20,切换后从库就是1.10,这里加的连接用户是:192.168.1.10,部署1.20的IP。

 新加的用户是,从库连接的IP,用户名和密码。

当用户权限中没有SUPER权限(ALL权限是包括SUPER的)时,从库的read-only生效!

使用start slave命令开启失败:

  mysql> start slave;

  ERROR 1872 (HY000): Slave failed to initialize relay log info structure from the repository

  使用reset slave命令解决:

  mysql> reset slave;

  Query OK, 0 rows affected (0.01 sec)

  mysql> start slave;

最新文章

  1. 2.[WP Developer体验Andriod开发]Andriod Studio结合Visual Studio Emulator for Android调试Android App
  2. Ubuntu 和 Redhat / Fedora 服务管理命令对比表(附Fedora16新的服务管理工具systemctl )
  3. iOS开发-定制多样式二维码
  4. 分享一个 jquery serializeArray()序列化方法
  5. Topcoder SRM 637 (Div.2)
  6. javascript取消disabled属性
  7. IOS 怎么修改Navigation Bar上的返回按钮文本颜色,箭头颜色以及导航栏按钮的颜色
  8. Webserver管理系列:11、注意默认的隐含共享
  9. [置顶] ※数据结构※→☆线性表结构(list)☆============双向链表结构(list double)(三)
  10. Lingo求解线性规划案例1——生产计划问题
  11. python-基础数据类型,集合及深浅copy
  12. docker之compose 编排项目
  13. Kubernetes滚动更新介绍及使用-minReadySeconds
  14. lua调用c++函数返回值作用
  15. Spark1.0.0 学习路线指导
  16. ArcEngine调用GP里的Merge工具传参问题
  17. Docker安装(yum方式 centos7)
  18. 持久层框架:MyBatis 3.2(1)
  19. wp 取消button按下效果
  20. Just common sense.

热门文章

  1. SQL Server 查看数据库在数据缓存(data cache)中占用的空间大小
  2. ubuntu12.04 修改登陆用户 为root
  3. [转] web_reg_save_param得到的数组的处理
  4. JQuery上传插件Uploadify使用详解 asp.net版
  5. mysql中参数--init-file的作用是什么呢?
  6. shell基础篇(九)函数
  7. scala的基础部分
  8. android中必备的接口回调用法
  9. 宏(define)与常量(const)
  10. Change Base