您现在的位置是:首页 > 博客日记 > 数据库 数据库

mysql主从复制

2017-05-21 10:55:14 【数据库】 人已围观

卸载mysql服务相关

  1. yum -y remove mysql*
  1. 安装mysql 服务器端:
  1. yum install mysql-server
  2. yum install mysql-devel
  1. 安装mysql客户端:
  1. yum install mysql
  1. 启动mysql服务:
  1. service mysqld start或者/etc/init.d/mysqld start

停止:

  1. service mysqld stop

重启:

  1. service mysqld restart
  1. 创建root管理员:
  1. mysql -u root password 123456

5.登陆

  1. mysql -u root -p123456

mysql服务器的主从配置,这样可以实现读写分离,也可以在主库挂掉后从备用库中恢复

需要两台机器,安装mysql,两台机器要在相通的局域网内

  1. 主机A: 192.168.1.100
  2. 从机B:192.168.1.101

可以有多台从机

1、先登录主机 A

  1. mysql>GRANT REPLICATION SLAVE ON *.* TO backup’@’192.168.1.101 IDENTIFIED BY 123456’;

赋予从机权限,有多台丛机,就执行多次

2、 打开主机A的my.cnf,输入

  1. server-id = 1 #主机标示,整数
  2. log_bin = /var/log/mysql/mysql-bin.log #确保此文件可写
  3. read-only =0 #主机,读写都可以
  4. binlog-do-db =test #需要备份数据,多个写多行
  5. binlog-ignore-db =mysql #不需要备份的数据库,多个写多行

3、打开从机B的my.cnf,输入

  1. server-id = 2
  2. log_bin = /var/log/mysql/mysql-bin.log
  3. master-host =192.168.1.100
  4. master-user =backup
  5. master-pass =123456
  6. master-port =3306
  7. master-connect-retry=60 #如果从服务器发现主服务器断掉,重新连接的时间差(秒)
  8. replicate-do-db =test #只复制某个库
  9. replicate-ignore-db=mysql #不复制某个库

4、同步数据库

不用太费事,只把主从库都启动即可自动同步,如果不嫌麻烦的话可以把主库的内容导出成SQL,然后在从库中运行一遍

5、先重启主机A的mysql,再重启从机B的mysql

6、验证

在主机A中,mysql>show master status\G;

在从机B中,mysql>show slave status\G;

能看到大致这些内容

  1. File: mysql-bin.000001
  2. Position: 1374
  3. Binlog_Do_DB: test
  4. Binlog_Ignore_DB: mysql

可以在主机A中,做一些INSERT, UPDATE, DELETE 操作,看看主机B中,是否已经被修改

  1. GRANT REPLICATION SLAVE,RELOAD,SUPER ON *.* TO mysql_backup@'*' IDENTIFIED BY '123456';
  2. CHANGE MASTER TO master_host = '127.0.0.1',
  3. master_user = 'mysql_backup',
  4. master_password = '123456',
  5. master_log_file = 'mysql-bin.000001',
  6. master_log_pos = 343;


关注TinyMeng博客,更多精彩分享,敬请期待!
 

很赞哦! ()