1.准备工作,2台服务器都安装最好一个版本的mysql

  主:192.168.100.1

  从:192.168.100.2

  a.修改主数据库/etc/my.cnf,mysqld下添加。修改之后重启。

    [mysqld]

    server-id=1

    log-bin=mysqlmaster-bin.log

  b.修改从数据库/etc/my.cnf,mysqld下添加。修改之后重启

    [mysqld]

    server-id=2

    log-bin=mysqlmaster-bin.log

2.主库操作

    ①主库创建用于主从复制的账户

    mysql>create user sync@'192.168.100.2' identified by 'sync';

    mysql>grant replication slave on *.* to sync@'192.168.100.2';

    #注意 192.168.100.2为从库的ip地址,需要换成实际的。我设置的主从账户和密码都为sync,可以更换。

   ②.主库锁表,禁止再插入数据以获取主数据库二进制日志坐标。

    mysql>flush tables with read lock;

   ③新开一个会话窗口,进入mysql库,执行

  mysql> show master status;
   mysql> SHOW MASTER STATUS; 
   +------------------------+----------+--------------+------------------+-------------------+ 
   | File                   | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set | 
   +------------------------+----------+--------------+------------------+-------------------+ 
   | mysqlmaster-bin.000001 |      500 |              |                  |                   | 
   +------------------------+----------+--------------+------------------+-------------------+ 
   1 row in set (0.00 sec) 
  #记录file和position,稍后需要在从库配置

   ④主服务器使用mysqldump命令创建数据快照

  mysqldump -uroot -p -h127.0.0.1 -P3306 --all-databases  --triggers --routines --events >/data/all.sql

    ⑤主库解锁

  mysql> unlock tables;

3.从库服务器操作

mysql -uroot -p -h127.0.0.1 -P3306 < all.sql 
# mysql -uroot -p 
mysql> CHANGE MASTER TO MASTER_HOST='192.168.100.1',MASTER_USER='sync',MASTER_PASSWORD='sync',MASTER_LOG_FILE='mysqlmaster-bin.000001',MASTER_LOG_POS=500; 
# 然后启动从数据库的复制线程: 
mysql> start slave; 
# 查询数据库的slave状态: 
mysql>  show slave status \G 
# 下面两个参数都是Yes,说明主从配置成功! 
Slave_IO_Running: Yes 
Slave_SQL_Running: Yes

4.测试,从主库创建数据库和增删改查,然后到从库去查看。

------------------------------------------end------------------------------------------------

#如果要清除主从配置,需要进入从库执行2条命令;

stop slave;
reset slave all;

posted on 2018-08-22 13:56  BBDN  阅读(450)  评论(0编辑  收藏  举报