• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

两台mysql服务器实现双机互备配置并测试数据同步

mysql 搞代码 4年前 (2022-01-09) 26次浏览 已收录 0个评论

对于实现两台机子的互备配置,本文作出了详细的介绍,之后的测试数据同步,在10.168.1.44服务器数据库里修改一条数据, 可以看到数据已经同步过来了。反过来,修改10.168.0.126的数据,也可以看到10.168.1.44数据库中对应表数据改变。到此,10.168.0.126与10.168.1.44互为主从数据库关系。

相关mysql视频教程推荐:《mysql教程》

apache php mysql

前期准备

两台服务器:10.168.1.44

10.168.0.126

运行环境:Linux系统(Centos6.5)

Mysql版本:5.7.22

修改配置

在两台服务器上分别修改/etc/my.conf配置文件的信息如下:

在10.168.1.44服务器/etc/my.conf配置文件中添加:

server_id=10

log-bin=master_01 //开启二进制日志,作用是另一个服务器可以通过该日志来确定执行操作

binlog-do-db=test_db //同步的表

binlog-do-db=my_test //同步的表

在10.168.0.126服务器/etc/my.conf配置文件中添加:

server_id=20

log-bin=master_02 //开启二进制日志,作用是另一个服务器可以通过该日志来确定执行操作

binlog-do-db=test_db //同步的表

binlog-do-db=my_test //同步的表

添加之后执行命令 service mysqld restart 重启数据库使修改生效

添加mysql账户

添加mysql账户,通过给其授权用户执行数据同步

10.168.1.44执行命令:

GRANT FILE ON *.* TO 'copyuser'@'10.168.0.126' IDENTIFIED BY 'Admin@123';GRANT REPLICATION SLAVE ON *.* TO 'copyuser'@'10.168.0.126' IDENTIFIED BY 'Admin@123';flush privileges;

10.168.0.126执行命令:

GRANT FILE ON *.* TO 'copyuser'@'10.168.1.44' IDENTIFIED BY 'Admin@123';GRANT REPLICATION SLAVE ON *.* TO 'copyuser'@'10.168.1.44' IDENTIFIED BY 'Admin@123';flush privileges;

配置从数据库

10.168.1.44配置:

查看当前主数据库状态:

mysql> show master status;

记录当前的file与position的值;

进入10.168.0.126访问数据库查看其主数据库状态

在10.168.1.44执行

mysql>CHANGE MASTER TOMASTER_HOST='10.168.0.126',MASTER_USER='copyuser',MASTER_PASSWORD='Admin@123',MASTER_PORT=3306,MASTER_LOG_FILE='master_02.000002',MASTER_LOG_POS=1771,MASTER_CONNECT_RETRY=10;在10.168.0.126执行:mysql>CHANGE MASTER TOMASTER_HOST='10.168.1.44',MASTER_USER='copyuser',MASTER_PASSWORD='Admin@123',MASTER_PORT=3306,MASTER_LOG_FILE='master_01.000008',MASTER_LOG_POS=154,MASTER_CONNECT_RETRY=10;注:若slave开启状态无法执行以上命令,需要首先执行 stop slave;关闭slave,执行完上述命令后执行start slave;命令开启slave。上述命令执行完后,查看从服务状态:执行命令:mysql> show slave status\G;*************************** 1. row **********************<em>本文来源[email protected]搞@^&代*@码)网5</em>*****               Slave_IO_State: Waiting for master to send event                  Master_Host: 10.168.1.44                  Master_User: copyuser                  Master_Port: 3306                Connect_Retry: 10              Master_Log_File: master_01.000008          Read_Master_Log_Pos: 154               Relay_Log_File: cdh-2-relay-bin.000004                Relay_Log_Pos: 367        Relay_Master_Log_File: master_01.000008             Slave_IO_Running: Yes            Slave_SQL_Running: Yes              Replicate_Do_DB:          Replicate_Ignore_DB:           Replicate_Do_Table:       Replicate_Ignore_Table:      Replicate_Wild_Do_Table:  Replicate_Wild_Ignore_Table:                   Last_Errno: 0                   Last_Error:                 Skip_Counter: 0          Exec_Master_Log_Pos: 154              Relay_Log_Space: 740              Until_Condition: None               Until_Log_File:                Until_Log_Pos: 0           Master_SSL_Allowed: No           Master_SSL_CA_File:           Master_SSL_CA_Path:              Master_SSL_Cert:            Master_SSL_Cipher:               Master_SSL_Key:        Seconds_Behind_Master: 0Master_SSL_Verify_Server_Cert: No                Last_IO_Errno: 0                Last_IO_Error:               Last_SQL_Errno: 0               Last_SQL_Error:  Replicate_Ignore_Server_Ids:             Master_Server_Id: 10                  Master_UUID: 778beb1e-8f0f-11e8-a815-00505695cd8c             Master_Info_File: /var/lib/mysql/master.info                    SQL_Delay: 0          SQL_Remaining_Delay: NULL      Slave_SQL_Running_State: Slave has read all relay log; waiting for more updates           Master_Retry_Count: 86400                  Master_Bind:      Last_IO_Error_Timestamp:     Last_SQL_Error_Timestamp:               Master_SSL_Crl:           Master_SSL_Crlpath:           Retrieved_Gtid_Set:            Executed_Gtid_Set:                Auto_Position: 0         Replicate_Rewrite_DB:                 Channel_Name:           Master_TLS_Version:1 row in set (0.00 sec)

注意Slave_IO_Running: Yes与Slave_SQL_Running: Yes,只有当两个都为yes是才是配置成功。


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:两台mysql服务器实现双机互备配置并测试数据同步
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址