玖叶教程网

前端编程开发入门

Mysql:主从复制

1、配置主Mysql Master

1)修改M有SQL my.cnf文件或my.ini

 vi /etc/my.cnf
#在[mysqld]下新增加以下内容
log-bin = mysql-bin
binlog_format = mixed
server_id=1
#重启mysql后,查看是否成功,请进入MySQL执行:
show variables like 'server_id';


2)配置完成按:wq保存

重启MySQL服务:

 service mysqld restart

3)在主服务器上为从服务器分配一个账号,就像一把钥匙,从服务器拿着这个钥匙,才能到主服务器上来共享主服务器的日志文件

 #进入主MySQL
mysql -u root -p 123456
#给从MySQL分配账号
#replication:分配复制权限
#*.*:可以操作所有的数据库
#slave:用户名
#%:可以在所有的电脑上使用这个账号登录
#1234:账号密码
mysql>GRANT replication slave ON *.* TO 'slave'@'%' identified by '1234';

4)查询配置状态

 mysql>show master status;


2、配置从MySQL Slavve

1)修改从MySQL my.cnf文件或my.ini

 vi /etc/my.cnf
#在[mysqld]下新增加以下内容
log-bin = mysql-bin
binlog_do_db = test
#与主的不一样就可以
server_id=2
#重启mysql后,查看是否成功,请进入MySQL执行:
show variables like 'server_id';

2)配置完成按:wq保存

重启MySQL服务:

 service mysqld restart

3)关闭slave(一定要先关闭)

#进入从MySQL
mysql -u root -p 123456
#执行命令
mysql>stop slave;

4)开始配置

#进入从MySQL里面执行命令:

mysql>change master to MASTER_HOST='172.17.0.2',MASTER_PORT=3306,MASTER_USER='slave',MASTER_PASSWORD='123456',MASTER_LOG_FILE='mysql-bin.000002',MASTER_LOG_POS=154;

5)启动slave同步

 #进入从MySQL里面执行命令:
mysql>start slave;

6)检查从服务器复制功能状态

 #进入从MySQL里面执行命令:
mysql>show slave status;

可以用Navicat执行查询命令:

 show slave status;
或者
show slave status \G;
#如果有以下两个字段为Yes,则成功
Slave_IO_Running:Yes
Slave_SQL_Running:Yes

6)创建一个只读账号

 mysql>GRANT Select ON *.* TO 'reader'@'%' IDENTIFIED BY '123456';

发表评论:

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言