你的位置:首页 > 数据库

[数据库]Mysql 主从复制


mysql 主从复制步骤
 
1)下载MySQL(Ubuntu)
   sudo apt-get install mysql-server mysql-client
2)更改mysql的配置文件
 vi /etc/mysql/my.cnf
 修改内容如下
  #绑定本机ip地址,作为master
  bind-address = 192.168.0.75
  #作为master
  server-id = 1
  #去掉注释
  log_bin         = /var/log/mysql/mysql-bin.log
  #需要复制的数据库
  binlog_do_db    = zm_gaiay_net_cn
 
 保存更改
2)重启mysql
 sudo service mysql restart
3)通过mysql client 进入命令行
 mysql -u root -p
  提示输入root密码
4)把复制权限给slave_user,并指定密码
 grant replication slave on *.* to 'slave_user'@'%' identified by '123456';
 
5)连接binlog_do_db 对应的数据库 (zm_gaiay_net_cn)
 use zm_gaiay_net_cn;
 
6)锁住表以免发生新的变化
  flush tables with read lock;
7)查看master status
 show master status;
 
+------------------+----------+--------------+------------------+
| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin.000001 |      107 | zm_gaiy_net_cn  |                  |
+------------------+----------+--------------+------------------+
 
 从库中会使用到 file 和 position
 
 
 
 
从库中安装
 
1)安装mysql
 
2)更改mysql配置文件my.cnf
 
 server-id      = 2
 #添加,注意这里是中划线
 replay-log   = /var/log/mysql/mysql-replay-bin.log
 
 log_bin   = /var/log/mysql/mysql-bin.log
 binlog_do_db   = zm_gaiay_net_cn
 
3)重启服务
 sudo service mysql restart
4)通过mysql-client 进入命令行界面
 mysq -u root -p
 
 配置主库
 CHANGE MASTER TO MASTER_HOST='192.168.0.75',MASTER_USER='slave_user', MASTER_PASSWORD='123456', MASTER_LOG_FILE='mysql-bin.000001', MASTER_LOG_POS=  107;
 
 
  解释
   master_host : 主库的ip
   master_user :组库中用来复制的用户
   master_password:主库中用来复制的用户密码
   master_log_file:主库(zm_gaiay_net_cn)对应的bin文件
   master_log_pos:从哪里开始复制
 
5)开启复制
 start slave
 
6)查看状态
 SHOW SLAVE STATUS