主从数据库设置的具体步骤
首先要有两个数据库服务器master、slave(也可以用一个服务器安装两套数据库环境运行在不同端口,slave也可以举一反三设置多个),我们穷人就买虚拟云服务器玩玩就行 0.0。以下操作假设你的两台服务器上都已经安装好了mysql服务。
1.打开mysql数据库配置文件
vi /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.检查配置效果,进入主数据库并执行
SHOW MASTER STATUS;
5.配置从服务器的 my.cnf
在[mysqld]节点下面添加:
server-id=2
relay-log-index=slave-relay-bin.index
relay-log=slave-relay-bin
配置完成后同样重启从数据库一下
service mysql restart
6.接下来配置两个数据库的关联
首先我们先建立一个操作主从同步的数据库用户,切换到主数据库执行:
mysql> create user repl;
mysql> GRANT REPLICATION SLAVE ON *.* TO 'repl'@'从xxx.xxx.xxx.xx' IDENTIFIED BY 'mysql';
mysql> flush privileges;
这个配置的含义就是创建了一个数据库用户repl,密码是mysql, 在从服务器使用repl这个账号和主服务器连接的时候,就赋予其REPLICATION SLAVE的权限, *.* 表面这个权限是针对主库的所有表的,其中xxx就是从服务器的ip地址。
进入从数据库后执行:
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代表访问主数据库的用户,上述步骤执行完毕后执行start slave启动配置:
start slave;
停止主从同步的命令为:
mysql> stop slave;
主从同步检查
查看状态命令,\G表示换行查看
mysql> show slave status \G;
其中Slave_IO_Running 与 Slave_SQL_Running 的值都必须为YES,才表明状态正常。
若Slave_SQL_Running: no
修改方式如下:
mysql> stop slave ;
mysql> set GLOBAL SQL_SLAVE_SKIP_COUNTER=1;
mysql> start slave ;
这样就可以进行主从数据库读写分离了,注意不要在从库进行写操作。
相关代码可以参考:https://www.cnblogs.com/cjsblog/p/9712457.html springboot+mybatis+mysql