Mysql 主备配置

来自:http://blog.csdn.net/u013256816/article/details/52536283

1. 了解主备配置过程原理。

http://blog.csdn.net/u013256816/article/details/52536283

2. 修改配置文件

主:

[mysqld]
log_bin=mysql-bin
server_id =1

备:

[mysqld]
log_bin=mysql-bin
server_id =2
relay_log=mysql-relay-bin
log_slave_updates=1
read_only=1

3. 新建授权用户

GRANT  REPLICATION SLAVE,REPLICATION CLIENT on *.* to slaveuser@'192.168.15.%' IDENTIFIED BY 'HU@jiang';
GRANT  REPLICATION SLAVE,REPLICATION CLIENT on *.* to slaveuser@'localhost' IDENTIFIED BY 'HU@jiang';

4. 启用slave数据库

CHANGE MASTER TO
MASTER_HOST='192.168.15.31', 
MASTER_USER='slaveuser', 
MASTER_PASSWORD='HU@jiang', 
MASTER_LOG_FILE='mysql-bin.000003',     # 通过 show master statusG; 确认MASTER_LOG_FILE 值
MASTER_LOG_POS=0;                              #日志从哪里开始读

start slave;    >>启用

stop slave;     >>停用

5. 查看slave运行状况: 确认

show master statusG;

image

show slave statusG

image

Slave_IO_Running=Yes
Slave_SQL_Running=Yes

slave的I/O和SQL线程都已经开始运行,而且Seconds_Behind_Master不再是NULL。日志的位置增加了,意味着一些事件被获取并执行了。如果你在master上进行修改,你可以在slave上看到各种日志文件的位置的变化,同样,你也可以看到数据库中数据的变化。

6. 确认数据是否同步成功

Slave_IO_State, Slave_IO_Running, 和Slave_SQL_Running是No表明slave还没有开始复制过程。

日志的位置为4而不是0,这是因为0只是日志文件的开始位置,并不是日志位置。实际上,MySQL知道的第一个事件的位置是4。

show databases;

use tables;


期间故障 (查看日志:):

1.确认日志路径。

mysql> show variables like "log_error";
+---------------+--------------------------------------+
| Variable_name | Value                                |
+---------------+--------------------------------------+
| log_error     | /usr/local/mysql/data/VM-Linux-T.err |
+---------------+--------------------------------------+
1 row in set (0.00 sec)

2. 查看同步失败错误日志。

2017-12-26 12:36:27 2043 [ERROR] Slave I/O: Fatal error: The slave I/O thread stops because master and slave have equal MySQL server UUIDs; these UUIDs must be different for replication to work. Error_code: 1593

mysql> show variables like '%server_uuid%';
+---------------+--------------------------------------+
| Variable_name | Value                                |
+---------------+--------------------------------------+
| server_uuid   | 3da490f8-cf87-11e7-a172-005056aa569a |
+---------------+--------------------------------------+


[root@VM-Linux-T ~]# find / -name auto.cnf
/usr/local/mysql/data/auto.cnf
[root@VM-Linux-T ~]# vi /usr/local/mysql/data/auto.cnf
[root@VM-Linux-T ~]# service mysqld restart


mysql> show variables like '%server_uuid%';
+---------------+--------------------------------------+
| Variable_name | Value                                |
+---------------+--------------------------------------+
| server_uuid   | 3da490f8-cf87-11e7-a172-005056aa569b |
+---------------+--------------------------------------+
1 row in set (0.00 sec)

原文地址:https://www.cnblogs.com/sunpear/p/8117620.html