数据库读写分离,主从同步实现方法

402 阅读1分钟

1.打开mysql数据库配置文件

vim /etc/my.cnf

2.在主服务器master上配置开启Binary log,主要是在[mysqld]下面添加:

server-id=1
log-bin=master-bin
log-bin-index=master-bin.index

3.重启mysql服务

service mysql restart

4.检查配置效果,进入主数据库并执行

mysql> SHOW MASTER STATUS;


5.配置从服务器的 my.cnf

server-id=2    //server-id 一定要和主库的不同
relay-log-index=slave-relay-bin.index
relay-log=slave-relay-bin

6.重启mysql服务

service mysql restart

7.接下来配置两个数据库的关联

建立一个操作主从同步的数据库用户,切换到主数据库执行:
mysql> create user repl;
mysql> GRANT REPLICATION SLAVE ON *.* TO 'repl'@'从xxx.xxx.xxx.xx' IDENTIFIED BY '123123';
mysql> flush privileges;

创建了一个数据库用户repl,密码是123123, 在从服务器使用repl这个账号和主服务器连接的时候,就赋予其
REPLICATION SLAVE的权限, *.* 表面这个权限是针对主库的所有表的,其中xxx就是从服务器的ip地址。 

8.进入从数据库后执行

mysql> change master to master_host='主xxx.xxx.xxx.xx',master_port=3306,master_user='repl',master_password='mysql',master_log_file='master-bin.000001',master_log_pos=0;
这里面的xxx是主服务器ip,同时配置端口,repl代表访问主数据库的用户

9.从数据库执行start slave启动配置

mysql> start slave;

10.停止主从同步的命令为

mysql> stop slave;

11.查看状态命令,\G表示换行查看

mysql> show slave status \G;