[摘要]本篇文章主要介绍了Mysql数据库之主从分离实例代码,MySQL数据库设置读写分离,可以使对数据库的写操作和读操作在不同服务器上执行,提高并发量和相应速度。介绍MySQL数据库设置读写分离,可以使对...
本篇文章主要介绍了Mysql数据库之主从分离实例代码,MySQL数据库设置读写分离,可以使对数据库的写操作和读操作在不同服务器上执行,提高并发量和相应速度。
介绍
MySQL数据库设置读写分离,可以使对数据库的写操作和读操作在不同服务器上执行,提高并发量和相应速度。
现在的网站一般大点的,都采用有数据库主从分离、读写分离,即起到备份作用也可以减轻数据库的读写的压力,一直听说过这些,但是自己从没有自己动手亲手实践过,今天有时间实践一下,记录下过程。
实验环境
我准备了两台服务器,一个是本机电脑,一个是远程vps,分别在两台机子上装的有数据库。
MySQL安装我就不介绍了,这里需要注意的是:MySQL安装的版本最好一致,如果不一致,低版本向高版本读的时候可能有问题,最好保持一致。
主库master
45.78.57.4 centos 7 Linux系统 , mysql版本 5.1.73
从库slave
本机127.0.0.1 macOs系统, mysql版本 5.1.73
配置
创建用户
在主库创建一个用户,用于从库读取主库的执行日志。
需要在mysql命令行里执行,需要先登录命令行
代码如下:
GRANT REPLICATION SLAVE ON *.* TO 'test'@'45.78.57.4' IDENTIFIED BY 'test';
修改my.cnf
linux系统在 /etc/my.cnf ,mac系统在安装的MySQL的目录,windows也一样。
在my.cnf文件里增加一下代码
server-id = 1 //数据库ID号
log-bin=master-bin //启用二进制日志
log-bin-index=master-bin.index //二进制日志名称
这里注意不要放在文件的末尾,要放在前面,即[mysqld]后,这里放上我的my.cnf内容
[mysqld]
server-id=1
log-bin=master-bin
log-bin-index=master-bin.index
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
symbolic-links=0
max_allowed_packet=100M
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
查看状态
登陆mysql命令行后,输入show master status,如果出现下面信息代表主库配置完成
mysql> show master status;
+-------------------+----------+--------------+------------------+
关键词:详细说明Mysql数据库之主从分离案例代码