MySQL的主从复制是什么?怎么实现MySQL服务器的主从同步?

发布时间:2020-06-08 11:25:52 作者:Leah
来源:亿速云 阅读:442

MySQL的主从复制是什么?怎么实现MySQL服务器的主从同步?这些问题可能是我们日常工作会见到的。通过这些问题,希望你能收获更多。下面是揭开这些问题的详细内容。

MySQL主从复制
案例概述
在企业网站中,后端MySQL数据库只有一台时,会有以下问题:

安装mysql完毕,并且做完一系列优化
开始做主从同步
1.修改主服务器配置文件

[root@master mysql-5.6.26]# vim /etc/my.cnf
//写在mysqld下
log-bin=master-bin
//上面是开启二进制文件
log-slave-update=true
//开启从服务器更新
server-id       = 11
//服务器id为11(id不可以重复)

重启服务

[root@master mysql-5.6.26]# service mysqld restart
Shutting down MySQL.. SUCCESS! 
Starting MySQL.. SUCCESS! 

主服务器登陆mysql,给从服务器创建用户并且允许复制所有数据(ON . )

[root@master mysql-5.6.26]# mysql -uroot -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.

mysql> GRANT REPLICATION SLAVE ON *.* TO 'myslave'@'192.168.247.%' IDENTIFIED BY 'abc123';
//允许 复制,从服务器以myslave用户的身份,从192.168.247.0的网段,使用abc123的密码,去复制所有的数据库以及下面的表(*.*)
Query OK, 0 rows affected (0.00 sec)

mysql> flush privileges;
//刷新数据库
Query OK, 0 rows affected (0.00 sec)

mysql> show master status;
//查看主服务器的位置点,从服务器的同步位置点就是下面的412
+-------------------+----------+--------------+------------------+-------------------+
| File              | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+-------------------+----------+--------------+------------------+-------------------+
| master-bin.000001 |      412 |              |                  |                   |
+-------------------+----------+--------------+------------------+-------------------+
1 row in set (0.00 sec)

配置从服务器slave1,服务器id不能一致,开启中继日志,索引中继日志

[root@slave1 mysql-5.6.26]# vim /etc/my.cnf
[mysqld]
//写在mysqld下
log-bin=mysql-bin
server-id       = 22
//另一台slave2 id 为23
relay-log=relay-log-bin
relay-log-index=slave-relay-bin.index
[root@slave1 mysql-5.6.26]# service mysqld restart
Shutting down MySQL.. SUCCESS! 
Starting MySQL.. SUCCESS! 

从服务器登陆mysql,添加主服务器(ip地址,使用主服务器的账户mysalve,输入主服务器账户的密码,确定同步的二进制文件,同步的位置点)

[root@slave1 mysql-5.6.26]# mysql -uroot -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.

mysql> change master to master_host='192.168.247.160',master_user='myslave',master_password='abc123',master_log_file='master-bin.000001',master_log_pos=412;
//添加主服务器
Query OK, 0 rows affected, 2 warnings (0.01 sec)

开启从服务器功能

mysql> start slave;
Query OK, 0 rows affected (0.01 sec)

查看从服务器状态

mysql> show slave status\G
*************************** 1. row ***************************
               Slave_IO_State: Waiting for master to send event
                  Master_Host: 192.168.247.160
                  Master_User: myslave
                  Master_Port: 3306
                Connect_Retry: 60
              Master_Log_File: master-bin.000001
          Read_Master_Log_Pos: 412
               Relay_Log_File: relay-log-bin.000002
                Relay_Log_Pos: 284
        Relay_Master_Log_File: master-bin.000001
‘             Slave_IO_Running: Yes         //显示slave功能已开启
‘            Slave_SQL_Running: Yes         //显示slave功能已开启
          Exec_Master_Log_Pos: 412
              Relay_Log_Space: 455
             Master_Server_Id: 11
                  Master_UUID: e9a82741-3223-11ea-af25-000c29524d89
             Master_Info_File: /home/mysql/master.info
                    SQL_Delay: 0
          SQL_Remaining_Delay: NULL
      Slave_SQL_Running_State: Slave has read all relay log; waiting for the slave I/O thread to update it
           Master_Retry_Count: 86400
1 row in set (0.00 sec)

同步配置完成,接下来测试
主服务器,创建一个school数据库

mysql> create database school;
Query OK, 1 row affected (0.00 sec)

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| school             |
| test               |
+--------------------+
5 rows in set (0.00 sec)

从服务器直接查看

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| school             |
| test               |
+--------------------+
5 rows in set (0.00 sec)

以上就是MySQL的主从复制介绍以及MySQL服务器实现主从同步的方法,看完之后是否有所收获呢?如果想了解更多相关内容,欢迎关注亿速云行业资讯!

推荐阅读:
  1. MySQL 主从同步。
  2. mysql实现主从复制的步骤

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

mysql 主从复制 主从同步

上一篇:JAVA通过Gearman实现MySQL到Redis的数据同步(异步复制)

下一篇:总结工作中经常用到的mysql基础知识

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》