mysql主主模式配置
来源:互联网 发布:tensorflow 版本 编辑:程序博客网 时间:2024/05/22 03:49
首先介绍一下环境:
虚拟机网络配置:这里配置的是虚拟机里面的桥接网络模式。之前使用nat模式,Slave_IO_Running: No,数据库不能同步,痛苦很久,所以这里一定要注意啊
确保两个mysql主机数据库,数据一致。很重要。可以使用mysqldump备份数据到另外一台主机
主机名 操作系统 IP
DB1(maser) centos6.5192.168.15.103
DB2(slave) centos6.5192.168.15.104
1,修改MySql配置文件
默认情况下,mysql的配置文件在/etc/my.cnf,首先修改DB1的配置文件,
其中黑体加粗的部分为添加的内容
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
symbolic-links=0
max_allowed_packet=100M
server-id=1
log-bin=mysql-bin
relay-log=mysql-relay-bin
replicate-wild-ignore-table=mysql.%
replicate-wild-ignore-table=test.%
replicate-wild-ignore-table=information_schema.%
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
然后修改DB2的主机配置文件,
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
symbolic-links=0
max_allowed_packet=100M
server-id=2
log-bin=mysql-bin
relay-log=mysql-relay-bin
replicate-wild-ignore-table=mysql.%
replicate-wild-ignore-table=test.%
replicate-wild-ignore-table=information_schema.%
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
二,创建复制用户并授权
1.首先在DB1的mysql数据库创建复制用户
grant replication slave on *.* to 'repl'@'192.168.15.104' identified by '123456';
show master status;
ran
然后在DB2的mysql库中江DB1设置为自己的主服务器,在DB2的mysql数据库操作如下:
stop slave;
change master to master_host='192.168.15.103', master_user='repl', master_password='123456', master_log_file='mysql-bin.000001', master_log_pos=261;
start slave;
这里需要注意的是:master_log_file=mysql-bin.000001,master_log_pos=261 这里的两个数值刚好是show master status;查询的结果。
下面查看DB2上面的运行结果:
这里需要注意的是:下面的这两个只必须都为yes,表明复制进程正常运行,
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
至此mysql的主从复制已经配置完成。接下来配置DB2到DB1的主从复制。
首先在DB2上面创建主从复制,在DB2的mysql数据库操作如下:
grant replication slave on *.* to 'repl'@'192.168.15.103' identified by '123456';
show master status;
在DB1的数据库中将DB2设置为自己的主服务器,在DB1数据库上面操作如下
slave stop;
change master to master_host='192.168.15.104', master_user='repl', master_password='123456', ma', master_log_pos=261;
slave start;
下面查看DB1的salve的运行状态:如果Slave_IO_Running: Yes Slave_SQL_Running: Yes都是yes,则表明DB1上面的复制服务运行正常。
show slave status;
至此mysql双主模式配置完成。
测试mysql的主主复制功能。
在DB1上面创建数据库
create database repldb;
use repldb
create table repl_table(id int, email varchar(80),password varchar(40) not null);
在DB2上面查看:
或者在DB2上面创建,在DB1上面查看。
常见报错:
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'stop' at line 1
解决办法。slave stop;
重新执行:change master to master_host='192.168.15.103', master_user='repl', master_password='123456', master_log_file='mysql-bin.000001', master_log_pos=261;
开启slave功能
salve start;
2,查看状态报错:
show slave status\G;
Slave_IO_Running: No
Slave_SQL_Running: Yes
截止查看日志报错:[ERROR] Slave I/O: error connecting to master 'repl@192.168.15.103:3306' - retry-time: 60 retries: 86400, Error_code: 2013
解决办法:删除master.info重启数据库 rm -rf /var/lib/mysql/master.info 这个是保持数据库的用户和密码文件,
或者是虚拟机里面需要设置为桥接网络,重启虚拟机,(我的问题是虚拟机),
或者是删除所有的mysql-bin.*的所有文件,和 mysql-relay-bin.*文件,然后重新配置。
ERROR 2006 (HY000): MySQL server has gone away
原因是:部分表太大,修改my.cf文件,添加max_allowed_packet=100M
这查看状态max_allowed_packet=100M
show slave status\G;
主要查看是否全是是yes
Slave_IO_Running: No
Slave_SQL_Running: Yes
- mysql主主模式配置
- mysql主主配置
- Mysql主主配置
- mysql 主主配置
- mysql双主配置
- MySQL双主配置
- mysql 双主配置
- Mysql配置master-slave模式
- mysql配置master/slave模式
- Mysql集群的HA原理及配置指南之主备模式(一)
- Mysql集群的HA原理及配置指南之双主模式(二)
- Mysql Group Replication 简介及单主模式组复制配置
- Mysql Group Replication 简介及单主模式组复制配置
- MySQL 主主配置 步骤
- keepalive+mysql 主主配置
- MySQL 主主同步配置
- MySQL 主主同步配置
- mysql主主关系配置
- java Map 按value值排序和按key值排序
- Panopticlick揭示你不能删除cookie
- Texturepacket命令行工具
- 6to4隧道
- 解析nginx负载均衡
- mysql主主模式配置
- 排序(1)冒泡排序
- 黑马程序员—Java基础:初识Java
- session的产生方式
- POJ 3204 Ikki's Story I - Road Reconstruction(最小割+残余网络)
- Android proguard 详解(三)
- ZOJ 3883 Scan Code
- 同样是工作,为什么成功的是他们?
- 动态规划之走格子不经过点P