Mysql 主从复制实验
Mysql 主从复制实验
Root 密码设为123
apt-get install mysql-server
设置密码 moses123
设置 192.168.68.21 22 23试用
修改/etc/my.conf
禁用bind-address =127.0.0.1
修改如下内容:
[mysqld]
log-bin=mysql-bin###启用二进制日志,去掉注释即可
server-id=1###数据库ID号,1:表示为Master;master_id范围:1到231之间的正整数值;每个同步服务器都必须设定一个唯一的编号,否则同步无法正常运行。
binlog_do_db = moses
在服务器mysql2中只需要修改server-id数据库ID号即可:
server-id=2
分别重新启动两台服务器的mysqld服务:
Service mysql restart
mysql和mysql2服务器相互设置为主从同步
a.在主mysql服务器上的设置:
在数据库中建立www账号,并且允许从任何地址上来登录,密码是123:
Grant replication slave on *.* to ‘www‘@‘%‘ identified by ‘123‘;
flush privileges;
Show master status;
清除防火墙
iptables F
service iptables save
在主机名为mysql2服务器上的设置:
Change master to
master_host=‘192.168.68.21‘,
master_user=‘www‘,
master_password=‘123‘,
master_log_file=‘mysql-bin.000005‘,
master_log_pos=875;
Start slave;
Show slave status\G;
验证主、从同步:
首先在主数据库上创建新库"tables",然后在从数据库上查看新建库是否已同步:
Create database tables;
在主机名为mysql2的服务器中验证新建库是否已经同步:
Show databases;
create table userinfo
(
id int ,
name char(20),
age int check(age>10),
sex char(2)
);
mysql和mysql2服务器相互设置为主主同步(在mysql2和msyql上执行相反的操作,使其互为主从):
在主机名为msyql2服务器上的设置:
Grant replication slave on *.* to ‘www‘@‘%‘ identified by ‘123‘;
Show master status;
在主机名为mysql主机上的设置:
Change master to
master_host=‘192.168.68.22‘,
master_user=‘www‘,
master_password=‘123‘,
master_log_file=‘MySQL-bin.000001‘,
master_log_pos=232;
stat slave; //开启从服务
show slave status;
在my.cnf文件中添加"binlog_do_db=数据库名"配置项(可以添加多个)来指定要同步的数据库。
整体配置完成后需要重启mysqld服务:
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。