mysql数据库的主从复制

时间:2023-01-31 19:48:23

1.mysql主从复制听起来很复杂,其实只需要懂得怎么配置mysql的配置文件就可以了。

2.两个服务器ip分别为192.168.1.101,192.168.1.102,101的作为主服务器,102的为从服务器且都安装了相同版本的mysql数据库

3.原理:mysql主从复制是依靠二进制日志。主服务器A(101),从服务器B(102),A做什么B就跟着做什么,即A把所有的增删改查操作都写进日志文件里,B拿到这个日志,然后按照日志里的操作进行运行,这样B就和A同步了。

4.实现步骤:

    4.1.修改mysql配置文件my.cnf

    vim  /etc/my.cnf

   加入三行代码

  log-bin=mysql-bin//将二进制文件取名为mysql-bin

 binlog_format=mixed//二进制文件的格式

server-id=101//为服务器设置一个唯一id

保存:wq

重启mysql

进入从服务器的mysql配置文件,做上面相同的操作,把设为server_id=102

 4.2.在主服务器上分配一个账号供从服务器连接

    进入主服务器mysql;mysql -u root -p 123546

  然后输入GRANT replication slave ON *.* TO 'slave'@'%' IDENTIFIED BY '1234';

       replication slave//主从复制的权限

      *.*//可以操作哪个数据库,这里是所有数据库

      slave//用户名

      %//可以在所有电脑端使用这个账号

      123456//密码

 4.3.查看主服务器BIN日志的信息(执行完之后记录下这两值,然后在配置完从服务器之前不要对主服务器进行任何操作,因为每次操作数据库时这两值会发生改变).

mysql数据库的主从复制


 4.4.

设置从服务器

进入从服务器mysql

命令: # mysql -u root -p111111

 

关闭slave(如果你以前配置过主从的话,一定要先关闭)

命令:stop slave;

 

开始配置:

输入下面代码即可:

mysql数据库的主从复制

参数解释:MASTER_HOST  :  设置要连接的主服务器的ip地址

       MASTER_USER  :  设置要连接的主服务器的用户名

       MASTER_PASSWORD  :  设置要连接的主服务器的密码

       MASTER_LOG_FILE  :  设置要连接的主服务器的bin日志的日志名称,即第3步得到的信息

       MASTER_LOG_POS  :  设置要连接的主服务器的bin日志的记录位置,即第3步得到的信息,(这里注意,最后一项不需要加引号。否则配置失败)

 

先在从服务器配置完成,启动从服务器:

命令: start slave;

mysql数据库的主从复制

4.5.查看是否配置成功:

命令: show slave status;

mysql数据库的主从复制

上面两项均为yes,说明配置成功