MYSQL主从复制

主服务器:

1.修改mysql配置文件,my.cnf,并重启mysql服务

vim /etc/mysql/my.cnf

[mysqld]

log-bin=mysql-bin #开启二进制日志

server-id=1 #设置server-id

#重启mysql服务

/etc/init.d/mysql restart

2.进入mysql创建一个用户

mysql -hlocalhost -uroot -pxxxxxx

use mysql;

#创建用户repl并设置密码为slavepass

CREATE USER 'repl'@'123.57.44.85' IDENTIFIED BY 'slavepass';

#给repl用户分配权限

GRANT REPLICATION SLAVE ON *.* TO 'repl'@'123.57.44.85';

#刷新权限

flush privileges;

3.查看master权限,记录二进制文件名(File)和位置(Position)

SHOW MASTER STATUS;


4.可以在主服务器上设置需要同步的数据库

# 不同步哪些数据库 

binlog-ignore-db = mysql 

binlog-ignore-db = test 

binlog-ignore-db = information_schema 


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

binlog-do-db = game 

从服务器:

1.修改mysql配置文件,my.cnf,并重启mysql服务

vim /etc/mysql/my.cnf

[mysqld]

server-id=2 #设置server-id

#重启mysql服务

/etc/init.d/mysql restart

2.进入mysql,执行同步sql语句,并启动从服务

mysql> CHANGE MASTER TO

#主服务器地址

    ->    MASTER_HOST='182.92.172.80',

#主数据库用户

    ->    MASTER_USER='rep1',

#主数据库密码

    ->    MASTER_PASSWORD='slavepass',

#主数据库二进制文件名

    ->    MASTER_LOG_FILE='mysql-bin.000003',

#主数据库二进制文件位置

    ->    MASTER_LOG_POS=73;

#启动slave进程

start slave;

#查看slave状态,如果Slave_IO_Running和Slave_SQL_Running是Yes则表示配置成功

show slave status\G;

3.查看mysql的server-id,如果和my.cnf里设置的server-id不一致,则设置mysql的server-id

#查看server_id

show variables like 'server_id';

#设置server_id

set global server_id=2;

#重启从服务

slave start;

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