Mysql主从复制(无数据情况)

环境:

Centos 6.5

Cmake-3.6.2

Mysql-5.5.53

**主mysql (192.168.1.174)操作**

2.修改配置文件

vi /usr/local/mysql/my.cnf

[mysqld]下添加或修改

Service-id = 1          //与从库id要不一样

Log-bin = mysql-bin     //开启

image.png


3.建立与从数据库同步账号

service mysql start

[root@localhost ~]# mysql -h 127.0.0.1 -uroot -p ”password”    //数据库登录密码

mysql> grant replication slave on *.* to 'rep'@'192.168.%.%' identified by '*@WoP629$#a';    //rep为主从同步账号 *@WoP629$#a为主从同步密码


image.png

4.刷新系统权限表

mysql>flush privileges; //刷新系统权限表

image.png

5.锁表;防止数据库有数据的改动**

mysql> flush tables with read lock;

image.png

6.查看主库状态(重要)

 mysql> show master status;

Mysql主从复制(无数据情况)_第1张图片


这两个值要做好记录;从库同步主库用。


7.解锁

mysql> unlock tables;



**从mysql(192.168.1.173)操作**

1.修改配置文件

vi /usr/local/mysql/my.cnf

[mysqld]下添加或修改

Service-id = 2          //与从库id要不一样

#Log-bin = mysql-bin     //关闭

image.png


2.从库配置同步参数

n service mysql start

n mysql -uroot -p’*@WoP629$#a’;

n mysql>change master to master_host='192.168.1.128',master_user='rep',master_password='*@WoP629$#a',master_log_file='mysql-bin.000004',master_log_pos=337;

image.png

//192.168.1.174为主库ip地址;rep为同步账号;*@WoP629$#a为同步密码

//与主数据库的文件名,文件位置一致

3.开启同步

n mysql> start slave;


4. 查看从数据库状态

n Mysql>show slave status\G

Mysql主从复制(无数据情况)_第2张图片




5.测试 master 新建一个good库

Mysql主从复制(无数据情况)_第3张图片









出现错误:

一:

启动从服务器进程并查看运行状态; 

mysql> show slave status\G 

如果出现如下行,则表明正常启动 Slave_IO_Running: no  Slave_SQL_Running: Yes遇到问题:

Last_IO_Errno: 1593

Last_IO_Error: Fatal error: The slave I/O thread stops because master and slave have equal MySQL server ids; these ids must be different for replication to work (or the --replicate-same-server-id option must be used on slave but this does not always make sense; please check the manual before using it).


解决:

查看从库的server-id

#egerp  'server-id |log-bin' my.cnf 

看是否正常。


二:

Slave_IO_Running: Running

Last_IO_Errno: 2003

解决:

可能是主库防火墙没有关导致的 

去主库 service iptables stop;

Slave_IO_Running 为connecting,的含义

主要有三个原因

1、网络不通

2、密码不对

3、pos不对