mysql设置主从配置

提前安装好mysql。

主服务器:

修改配置文件   vi /etc/my.cnf  命令编辑mysqld配置

[mysqld]
log-bin=mysql-bin   //[必须]启用二进制日志
server-id=1      //[必须]服务器唯一ID,默认是1,一般取IP最后一段
binlog_do_db=testmirror //要做同步的数据库名字,可以是多个数据库,之间用分号分割。

主服务器上建立帐户并授权slave:

mysql> GRANT REPLICATION SLAVE ON *.* to 'myslave'@'%' identified by '123456';

查询master的状态

mysql>show master status;
+------------------+----------+--------------+------------------+
| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin.000004 |      308 |              |                  |
+------------------+----------+--------------+------------------+
1 row in set (0.00 sec)

从服务器:

修改配置文件   vi /etc/my.cnf  命令编辑mysqld配置

[mysqld]
log-bin=mysql-bin   //[不是必须]启用二进制日志
server-id=2      //[必须]服务器唯一ID,默认是1,一般取IP最后一段

配置从服务器Slave:

mysql>change master to master_host='127.0.0.1',master_user='myslave',master_password='123456', master_log_file='mysql-bin.000004',master_log_pos=308;   //注意不要断开,308数字前后无单引号。该处配置对应上面的master状态
Mysql>start slave;    //启动从服务器复制功能

检查从库是否安装正确:

mysql> show slave status\G
*************************** 1. row ***************************
Slave_IO_State: Waiting for master to send event
Master_Host: 127.0.0.1  //主服务器地址
Master_User: myslave  //授权帐户名,尽量避免使用root
Master_Port: 3306    //数据库端口,部分版本没有此行
Connect_Retry: 60
Master_Log_File: mysql-bin.000004
Read_Master_Log_Pos: 600     //#同步读取二进制日志的位置,大于等于Exec_Master_Log_Pos
Relay_Log_File: ddte-relay-bin.000003
Relay_Log_Pos: 251
Relay_Master_Log_File: mysql-bin.000004
Slave_IO_Running: Yes    //此状态必须YES
Slave_SQL_Running: Yes     //此状态必须YES
......

注意事项:

所有的配置完成后,如果flush没有起效果,则需要重启mysql。

从库中忽略主从同步错误,否则一旦有一个错误,则所有同步皆会失效:

mysql>slave stop;
mysql>SET GLOBAL SQL_SLAVE_SKIP_COUNTER = 1 ;      #跳过一个事务
mysql>slave start;

主库重启后从库需要额外操作(File会变化):

mysql>show master status;
+------------------+----------+--------------+------------------+
| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin.000004 |      308 |              |                  |
+------------------+----------+--------------+------------------+
1 row in set (0.00 sec)
mysql>slave stop;
mysql>change master to master_host='10.3.11.27',master_user='myslave',master_password='lt123456', master_log_file='mysql-bin.000003',master_log_pos=367;   //注意不要断开,308数字前后无单引号。
Mysql>start slave;    //启动从服务器复制功能

 

 

 

 

 

转载于:https://my.oschina.net/u/2985161/blog/1475642

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值