Mysql建立主从复制

1、修改主服务器master:
   #vi /etc/my.cnf
       log-bin=mysql-bin   //[必须]启用二进制日志
       server-id=222      //[必须]服务器唯一ID,默认是1,一般取IP最后一段


2、修改从服务器slave:
   #vi /etc/my.cnf
       log-bin=mysql-bin   //[不是必须]启用二进制日志
       server-id=226      //[必须]服务器唯一ID,默认是1,一般取IP最后一段


3、重启两台服务器的mysql
   /etc/init.d/mysqld restart


4、在主服务器上建立帐户并授权slave:
mysql>GRANT REPLICATION SLAVE ON *.* to 'mysync'@'%' identified by 'q123456'; 




5.对现有数据进行快照备份:
Mysql master >mysqldump  --all-databases  --lock-all-tables  >   /tmp/dbdump.sql  出问题了!!!
/usr/local/webserver/mysql/bin/mysqldump -uroot -p --master-data --single-transaction -A > hive20160411.sql
Mysql master >scp   /tmp/dbdump.sql  172.16.0.1:/tmp/
Mysql slave  >mysql  -uroot  -p  <   dbdump.sql  




6.获取主服务器二进制文件信息,二进制文件名称及日志记录位置
mysql>flush tables with read lock; 
mysql>show master status;
   +------------------+----------+--------------+------------------+
   | File             | Position | Binlog_Do_DB | Binlog_Ignore_DB |
   +------------------+----------+--------------+------------------+
   | mysql-bin.000004 |      308 |              |                  |
   +------------------+----------+--------------+------------------+
   1 row in set (0.00 sec)
   注:执行完此步骤后不要再操作主服务器MYSQL,防止主服务器状态值变化
mysql> unlock tables;


也可以在查看备份的数据
cat  /tmp/dbdump.sql  | grep  CHANGE MASTER







7、配置从服务器Slave:
Mysql>change master to master_host='192.168.145.222',master_user='mysync',master_password='q123456',master_log_file='mysql-bin.000004',master_log_pos=308;   //注意不要断开,308数字前后无单引号。
Mysql>start slave;          //启动从服务器复制功能
Mysql>show slave status \G;

你可能感兴趣的:(Mysql建立主从复制)