mysql的主从复制配置
1.说明:本实例的配置使用window10的mysql5.5和虚拟机上linux的mysql5.5的配置。windows作为主,linux的为从。
ip分别为:192.168.30.205,192.168.206.131 账号密码都为:root root.
第一步主的配置
a. windows找到my.ini.加入如下配置:
log-bin=mysql-bin
log-bin-index=mysql-bin.index
#服务Id,和slave 的server-id不一样
server-id = 1
sync_binlog=1
binlog_format=mixed
#做主从同步的数据库名,多个可以用逗号隔开
binlog-do-db = citys
#忽略同步的数据库
binlog-ignore-db = mysql
binlog-ignore-db = performance_schema
binlog-ignore-db = information_schema
配置完成后重启mysql
b. mysql -u root -proot 进入mysql命令行:
执行: GRANT REPLICATION SLAVE ON *.*TO ‘root’@‘192.168.206.131’ IDENTIFIED BY ‘root’;
查看主配置的状态:show master status;
注意上面的 File和Position的值 后面会用到。
第二部从的配置
a. centos中找到mysqld.cnf 计入如下的配置
–服务Id,和master 的server-id不一样
server-id=2
log-bin = mysql-bin
relay-log-index = slave-relay-bin.index
relay-log = slave-relay-bin
sync_master_info = 1
sync_relay_log = 1
sync_relay_log_info = 1
配置完成后重启mysql
b. 关联主服务的配置 mysql -u root -proot进入mysql的命令行,执行如下命令:
change master to master_host=‘192.168.30.205’,master_user=‘root’,master_port=3306,master_password=‘root’,master_log_file=‘mysql-bin.000001’,master_log_pos=260
命令说明:
- master_host:master 数据库服务器ip master_user: master 数据库通过GRANT授权的账号
master_port:master 数据库使用的端口号 master_password:master 数据库通过GRANT授权的密码
master_log_file:master数据库中通过show master status显示的File名称
master_log_pos:master数据库中通过show master status显示的Position数据
mysql命令行输入:start slave;
执行如下mysql命令:show slave status;
上面显示两处都显示yes成功。
成功演示:
主数据库 student加入一行记录
从数据库自动对应的写入