环境:系统centos6.4,mysql5.5.28
设置环境状态:
192.168.183.131主机(安装mysql,库内容为初始化)
192.168.183.130从机(安装mysql,库内容为初始化)
分别打开数据库配置文件将 原有的server-id注释掉(避免忘记设置相同的id在主从复制是出错)
vi /etc/my.cnf
开始设置:
1.登陆主机mysql
1.1创建从机 账号
grant replication slave,reload,super on *.* to backup@'192.168.183.130' identified by '1234';
flush privileges;
1.2修改主机配置文件 vi /etc/my.cnf
[mysqld]下添加
server_id=10
log_bin=mysql-bin
serve-id=1 设置为主机。
log-bin:设置主机而今
1.3登陆mysql 查看状态
2.从机设置(192.168.183.130)
2.1.修改配置文件
vi /etc/my.cnf
[mysqld]下面添加如下文件
log_bin =mysql-bin
server_id =2
relay_log =/var/lib/mysql/mysql-relay-bin
log_slave_updates=1
read_only =1
2.2.登陆从机 执行如下语句
change master to master_host='192.168.183.131',
-> master_user='backup',
-> master_password='1234',
-> master_log_file='mysql-bin.000005',
-> master_log_pos=107;
2.3.查看从机状态
show slave status\G
2.4.启动slave
start slave;
再次查看从机状态
- slave_io_running: 从机io 的状态 (如果此处为Connecting,请检查服务器的防火墙是否开放3306端口)正常情况下为yes
- slave_sql_running: sql执行的状态
3.测试是否正常
3.1在主服务器上创建数据库testdb
create database testdb;
3.2在从库上查看数据库。
看到已经将主服务器上创建的库复制过来。
4,遇到的问题
从库启动slave 之后,查看运行状态时发现提示server-id 相同。
解决思路:
1.查看server_id值
show variables like 'server_id';
2.查看mysql的配置文件/etc/my.cnf文件中server-id的值。将其注释掉。
从库启动后, slave_io_running为connecting状态
解决思路:
1.检查防火墙3306端口是否开启
2.change master语句中master_host值是否有误。