MySQL主从复制详解(2)

#在主库上为10.11.4.0网段的主机授权,从库用户repl获得REPLICATION SLAVE权限 [root@master ~]#mysql -uroot -p Enter password: mysql> GRANT REPLICATION SLAVE ON *.* TO 'repl'@'10.11.4.%' IDENTIFIED BY 'repl'; mysql> flush privileges;

3. 刷新表并设置只读

#锁表,禁止新数据写入; #(视情况执行),设置只读是为了防止在获取binlog文件名与偏移量时,或从主库备份数据库到从库时,主库发生变化;初次同步完成后勿忘解锁 [root@master ~]#mysql -uroot -p Enter password: mysql>flush tables with read lock;

4. 获取master binlog文件名与偏移量

#获取到binlog文件名与偏移量,可为从库设定同步复制点 [root@master ~]# mysql -uroot -p Enter password: mysql>show master status;

5. 解除只读锁定

#解除只读锁定 [root@master ~]# mysql -uroot -p Enter password: mysql>unlock tables;

6. iptables

[root@master ~]# vim /etc/sysconfig/iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT [root@master ~]# service iptables restart

四.从库配置 1. my.cnf配置

#将主库服务器上的my.cnf文件拷贝到从库服务器 [root@master ~]# scp /etc/my.cnf slave:/etc/ Enter password: #修改server id值与主库服务器不同,其余配置保持不变即可; #从库可以配置slave_skip_errors=[err_code1,err_code2,… | all]参数; #在复制过程,由于各种原因导致binlog中的sql出错,默认情况下从库会停止复制,要用户介入; #可以通过设置slave-skip-errors来定义错误号,如果复制过程中遇到已定义的错误号,便可以跳过;如果从库是用来做备份,设置这个参数会存在数据不一致,建议不使用;如果是从库是分担主库的查询压力,可以考虑采用。 [root@slave ~]# vim /etc/my.cnf [mysqld] # ID值唯一的标识了群集中的主从服务器,master_id必须为1到232–1之间的一个正整数值,slave_id值必须为2到232–1之间的一个正整数值. server_id = 198 #使用--skip-slave-start启动,可以不立即启动从库的复制线程,方便后续配置操作 [root@slave ~]# service mysqld stop [root@slave ~]# mysqld_safe --skip-slave-start &

2. 配置同步

#配置从库向主库提交的参数,如果参数有错误,可以重新配置; #master-host、master-user、master-password、master-port等也可在my.cnf文件中指定; #”start slave”启动复制。 [root@slave ~]# mysql -uroot -p Enter password: mysql> change master to master_host = '10.11.4.196', master_user = 'repl', master_password = 'repl', master_log_file = 'mysql-bin.000001', master_log_pos = 120; mysql> start slave;

3. 设置从库只读

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/77ceb8569de289e0667b98167a549e82.html