MySQL主主同步配置步骤
2023-06-13 09:14:52 时间
MySQL主主同步配置
服务器名
IP
系统
MySQL
odd.example.com
192.168.1.116
rhel-5.8
5.5.16
even.example.com
192.168.1.115
rhel-5.8
5.5.16
假设要同步的库是db_rocky
㈠创建同步用户
在ODD上
复制代码代码如下:
假设要同步的库是db_rocky
㈠创建同步用户
在ODD上
mysql>grantreplicationslaveon*.*to"water"@"192.168.1.115"identifiedby"cdio2010";
QueryOK,0rowsaffected(0.00sec)
mysql>flushprivileges;
QueryOK,0rowsaffected(0.00sec)
在EVEN上
mysql>grantreplicationslaveon*.*to"water"@"192.168.1.116"identifiedby"cdio2010";
QueryOK,0rowsaffected(0.11sec)
mysql>flushprivileges;
QueryOK,0rowsaffected(0.00sec)
㈡修改/etc/my.cnf配置文件,为其添加以下内容:
在ODD上
[mysqld]
binlog-do-db=db_rocky#需要记录进制日志的数据库.如果有多个数据库可用逗号分隔,或者使用多个binlog-do-db选项
binlog-ignore-db=mysql#不需要记录进制日志的数据库.如果有多个数据库可用逗号分隔,或者使用多个binlog-do-db选项
replicate-do-db=db_rocky#需要进行同步的数据库.如果有多个数据库可用逗号分隔,或者使用多个replicate-do-db选项
replicate-ignore-db=mysql,information_schema#不需要同步的数据库.如果有多个数据库可用逗号分隔,或者使用多个replicate-ignore-db选项
#同步参数:
#保证slave挂在任何一台master上都会接收到另一个master的写入信息
log-slave-updates
sync_binlog=1
auto_increment_offset=1
auto_increment_increment=2
slave-skip-errors=all#过滤掉一些没啥大问题的错误
在EVEN上
[mysqld]
server-id=2#设置一个不同的id、注意这里在my.cnf里面有个默认值是1、把默认值改掉、而不能新增一个server-id
binlog-do-db=db_rocky#需要记录二进制日志的数据库.如果有多个数据库可用逗号分隔,或者使用多个binlog-do-db选项
binlog-ignore-db=mysql#不需要记录进制日志的数据库.如果有多个数据库可用逗号分隔,或者使用多个binlog-ignore-db选项
#需要同步的数据库
replicate-do-db=db_rocky#需要进行同步的数据库.如果有多个数据库可用逗号分隔,或者使用多个binlog-do-db选项
replicate-ignore-db=mysql,information_schema#不需要同步的数据库.如果有多个数据库可用逗号分隔,或者使用多个binlog-do-db选项
#同步参数:
#保证slave挂在任何一台master上都会接收到另一个master的写入信息
log-slave-updates
sync_binlog=1
auto_increment_offset=2
auto_increment_increment=2
slave-skip-errors=all#过滤掉一些没啥大问题的错误
㈢分别重启服务器ODDEVEN上的mysql服务
㈣分别在服务器ODD、EVEN上查看做为主服务器状态
在ODD
mysql>flushtableswithreadlock;#防止进入新的数据
QueryOK,0rowsaffected(0.00sec)
mysql>showmasterstatus\G;
***************************1.row***************************
File:mysql-bin.000007
Position:438
Binlog_Do_DB:db_rocky
Binlog_Ignore_DB:mysql
1rowinset(0.00sec)
在EVEN
mysql>flushtableswithreadlock;
QueryOK,0rowsaffected(0.00sec)
mysql>showmasterstatus\G;
***************************1.row***************************
File:mysql-bin.000008
Position:107
Binlog_Do_DB:db_rocky
Binlog_Ignore_DB:mysql
1rowinset(0.01sec)
㈤分别在服务器ODD、EVEN上用changemaster语句指定同步位置:
在ODD
mysql>changemastertomaster_host="192.168.1.115",master_user="water",master_password="cdio2010",
->master_log_file="mysql-bin.000008",master_log_pos=107;
QueryOK,0rowsaffected(0.05sec)
在EVEN
mysql>changemastertomaster_host="192.168.1.116",master_user="water",master_password="cdio2010",
->master_log_file="mysql-bin.000007",master_log_pos=438;
QueryOK,0rowsaffected(0.15sec)
注:master_log_file,master_log_pos由上面主服务器查出的状态值中确定
master_log_file对应File,master_log_pos对应Position
在ODDEVEN上
mysql>unlocktables;
QueryOK,0rowsaffected(0.00sec)
㈥分别在服务器ODD、EVEN上启动从服务器线程
mysql>startslave;
QueryOK,0rowsaffected(0.00sec)
分别在服务器ODD、EVEN上查看从服务器状态:
ODD上
mysql>showslavestatus\G;
***************************1.row***************************
主要关注以下2个参数:
...
...
Slave_IO_Running:Yes
Slave_SQL_Running:Yes
...
...
EVEN上:
mysql>showslavestatus\G;
***************************1.row***************************
主要关注以下2个参数:
...
...
Slave_IO_Running:Yes
Slave_SQL_Running:Yes
...
...
㈦测试
EVEN上
mysql>showdatabases;
+--------------------+
|Database|
+--------------------+
|information_schema|
|db_rocky|
|mysql|
|performance_schema|
|test|
+--------------------+
5rowsinset(0.00sec)
mysql>usedb_rocky;
Databasechanged
mysql>showtables;
Emptyset(0.00sec)
mysql>createtablewater(idint);
QueryOK,0rowsaffected(0.04sec)
mysql>insertintowatervalues(1);
QueryOK,1rowaffected(0.01sec)
mysql>commit;
QueryOK,0rowsaffected(0.00sec)
在ODD上
mysql>showtables;
+--------------------+
|Tables_in_db_rocky|
+--------------------+
|t_rocky|
|water|
+--------------------+
2rowsinset(0.00sec)
mysql>select*fromwater;
+------+
|id|
+------+
|1|
+------+
1rowinset(0.00sec)
相关文章
- MySQL远程同步:实现数据快速共享(mysql远程同步)
- MySQL表的同步处理方法探讨(mysql同步表)
- 复制Mysql主从复制的优势及实现(mysql主从)
- Mysql主从同步出现报错:如何解决?(mysql主从同步报错)
- MySQL最佳配置优化 让你的数据更加安全(mysql配置优化)
- MySQL中增添主键的方法(mysql中增加主键)
- Mac上快速安装配置MySQL(mac运行mysql)
- 配置PHP实现MySQL数据库连接(php连接mysql配置)
- MySQL更改表编码的简单方法(mysql更改表的编码)
- MySQL中实现字段内容替换(mysql替换字段)
- MySQL:确保数据库并发安全性(mysql并发控制)
- 超时MySQL 连接超时8小时解决方案(mysql连接8小时)
- MySQL:配置参数文件步骤指南(mysql参数文件)
- MySQL的主从库配置,实现数据的同步与备份(mysql主从库)
- MySQL的时区配置指南(mysql时区配置)
- MySQL安装后提示服务未找到(mysql安装后无服务)
- 探索MySQL UDF功能的精华(mysql的udf功能)
- MySQL主从配置:解决删除的难题(mysql主从配置删除)
- MySQL数据全同步复制技术详解(mysql全同步复制)
- SQL数据同步MySQL的详细步骤和注意事项(sql同步mysql)
- 异常MySQL 1062异常:主键冲突报错(mysql 1062)
- 轻松搞定:MySQL表同步小助手(mysql表同步工具)
- Cocoa如何调用MySQL便捷操作数据库(cocoa调用mysql)
- MySQL 80 数据库服务器配置指南(8.0mysql配置)
- MySQL配置一对多关系(mysql 一对多配置)
- MySQL索引优化不加锁创建索引(MySQL不加锁创建索引)
- 解决方案MySQL如何打开配置界面(mysql不出现配置界面)
- MySQL账号同步不完全的解决方法(mysql 不同步账号)