MYSQL主从

mysql自动批处理制作主从同步需要的语句

MASTER

开启主服务器的 binlog开关和设置server-id  然后重启mysql服务

vim /etc/my.cnf

[mysqld]

log-bin=mysql-bin

binlog_format=mixed

server-id = 1

# 不同步哪些数据库

binlog-ignore-db= mysql 

binlog-ignore-db= test 

binlog-ignore-db= information_schema 

# 只同步哪些数据库,除此之外,其他不同步 

binlog-do-db=game

创建用于同步的用户账号

mysql -u root -proot            #登陆主库

mysql> GRANT REPLICATION SLAVE ON *.* TO 'liuge'@'%' IDENTIFIED BY '123456';         #创建用户并分配从库复制权限

mysql> flush privileges;          #刷新权限 

mysql> show master status\G             #查看master的状态    #Position不应该为0 

mysql> show processlist\G             #查看全部运行的线程 


SLAVE

设置从服务器的server-id 然后重启mysql服务

vim /etc/my.cnf

[mysqld]

server-id = 2

mysql -u root -proot          #登陆从库

mysql> stop slave;     #关闭同步

mysql> reset slave;     #重置 

mysql> CHANGE MASTER TO MASTER_HOST='192.168.2.102',MASTER_PORT=3306,MASTER_USER='liuge', MASTER_PASSWORD='123456', 

MASTER_LOG_FILE='mysql-bin.000001', MASTER_LOG_POS=4269;        #设置同步参数

mysql> start slave;     #开启同步

mysql> show slave status\G     #查看是否配置成功

Slave_IO_Running: Yes    Slave_SQL_Running: Yes

#如果从库的Slave_SQL_Running为NO

mysql> set GLOBAL SQL_SLAVE_SKIP_COUNTER=1;

主从同步总结

①主库有一个线程IO线程完成,从库由两个线程I/O(取log)和SQL(读log)线程完成

②要在从库上配置IP、端口、用户名、密码、连接的位置以及POS点

注意:开启之前主库要把同步点之前的数据放到从库上

③开启之前主从库数据一致,基于某个点一致

④开启之前要在主库建立从库同步账号

⑤开启之前主库要开启binlog开关否则无法实现同步

⑥从库打开开关的过程就是两个线程工作的过程

你可能感兴趣的:(MYSQL主从)