MySQL 主从同步配置
来源:互联网 发布:java怎么编程 编辑:程序博客网 时间:2024/06/07 06:07
环境
两台虚拟机,一主一从,防火墙要放开(可以直接关闭防火墙)
关闭防火墙
1
2
3
4
5
6
su
root
service iptables stop
#关闭防火墙
service iptables status
#验证是否关闭
chkconfig iptables off
#关闭防火墙的开机自动运行
chkconfig –list |
grep
iptables
#验证防火墙的开机自动运行
vim
/etc/sysconfig/selinux
# 禁用selinux,将SELINUX=disabled
安装 MySQL
Linux下yum安装MySQL yum安装MySQL指定版本.note ,Blog:Linux下yum安装MySQL yum安装MySQL指定版本
1. 拷贝并修改配置文件
1
cp
/user/share/mysql/my-medium
.cnf
/etc/my
.cnf
2. 修改master上的配置文件 my.cnf
在[mysqld]下添加如下字段:
1
2
3
4
5
6
7
server-
id
=1
log-bin=log
#需要同步的数据库
binlog-
do
-db=
test
# binlog-do-db=test2
#被忽略的数据库
binlog-ignore-db=mysql
3. 在master上为slave添加一个同步账号
grant replication slave on *.* to 'jerome'@'*' identified by 'jeromepassword';
4. 重启master的mysql服务
service mysqld restart;
查看master日志情况:show master status\G;
slave 配置
1. 拷贝并修改配置文件
1
cp
/user/share/mysql/my-medium
.cnf
/etc/my
.cnf
2. 修改slave上的配置文件my.cnf。
在[mysqld]下添加如下字段:记得把原先的server-id注释掉。
1
2
3
4
5
6
7
8
9
10
11
server-
id
=2
master-host=192.168.17.128
master-user= jerome
master-password= jeromepassword
master-port=3306
master-connect-retry=60
#需要同步的数据库
binlog-
do
-db=
test
# binlog-do-db=test2
#被忽略的数据库
binlog-ignore-db=mysql
3. 重启mysql服务
service mysqld restart;
4. 启动slave并查看slave情况
1
2
3
mysql -uroot -proot;
mysql>start slave;
mysql>show slave status\G;
如果Slave_IO_Running、Slave_SQL_Running状态为Yes则表明设置成功
问题
问题1:Slave_IO_Running: No或者Slave_SQL_Running: No
1. 停掉slave服务
1
2
mysql> slave stop;
Query OK, 0 rows affected (2.01 sec)
2. 解决办法
解决办法1
a.在master上查看。
mysql> show master status\G;
*************************** 1. row ***************************
File: mysql-bin.000002
Position: 106
Binlog_Do_DB: test
Binlog_Ignore_DB:
1 row in set (0.00 sec)
b.到slave上手动同步。
mysql>change master to master_log_file='mysql-bin.000002',master_log_pos=106;
Query OK, 0 rows affected (0.00 sec)
mysql> slave start;
#查看是否都是YES
mysql> show slave status\G;
解决方法2
mysql> slave stop;
mysql> SET GLOBAL SQL_SLAVE_SKIP_COUNTER=1;
mysql> slave start;
#查看是否都是YES
mysql> show slave status\G;
以上如果还是显示Slave_IO_Running:NO,可以多次查看show slave status\G;发现有报错信息,大概意思是server_id不能和主库一样
1. 停止slave并查看当前server_id
停止:slave stop;
查看server_id:show variables like 'server_id';
2. 修改server_id并启动salve
修改:set global server_id=2;
启动:slave start;
查看是否为YES了:show slave status\G;
其他
Slave_IO_Running:连接到主库,并读取主库的日志到本地,生成本地日志文件
Slave_SQL_Running:读取本地日志文件,并执行日志里的SQL命令。
常用命令:
1
2
3
4
slave stop;
reset slave;
slave start;
show slave status\G;
0 0
- MYSQL 主从同步配置
- Mysql 主从同步配置
- mysql主从同步配置
- mysql主从同步配置
- mysql主从同步配置
- mysql主从同步配置
- mysql主从同步配置
- Mysql主从同步配置
- MySQL主从同步配置
- mysql主从同步配置
- mysql主从同步配置
- mysql主从同步配置
- mysql 配置主从同步
- mysql 主从同步配置
- MySQL 主从同步配置
- mysql 主从同步配置
- mysql主从同步配置
- MySql主从同步配置
- xlib文件的加载使用
- 1002. 写出这个数 (20)
- binary indexed tree
- 引用3
- win7+ubuntu双系统安装方法
- MySQL 主从同步配置
- 第五章:栅格系统
- day09
- [总结]C语言二维数组作为函数的参数
- matlab标定工具箱(calib_gui)使用角点点选择出错
- NSObject中的类方法copyWithZone问题
- Chapter 12 I/O System
- android中引用方法的时候,有时候要new一个对象才能引用,有时候直接.方法就可以了,为什么
- Chapter 13 Secondary-Storage