在公司开发中,有时候为了缓解数据库压力,会把读写分开为两个数据库来操作,读为一个数据库,写为一个数据库,然后两个数据库做同步,这样能明显降低数据库的压力,下面给大家介绍如何进行mysql主从数据库配置(这里仅仅是配置主从,读写分离的功能需要服务器配置双数据源)
- 安装mysql解压版
1.1 设置了root用户的密码为smallming
1.2 把虚拟机克隆一份.
1.3 主从的ip
1.3.1 主:192.168.17.132
1.3.2 从:192.168.17.133
2.修改主数据库的my.cnf文件
2.1 执行命令
# vim /etc/my.cnf
2.2 修改内容
2.2.1 log_bin 日志文件名称,启用日志功能
2.2.2 server_id 给定一个值
2.3 重启mysql
# service mysql restart
3.进入主数据库的客户端工具
#mysql -u root -psmallming
4.新建一个myslave用户并赋予权限
4.1 命令:
4.1.1 *.* 表示任意数据库的任意表
4.1.2 myslave 用户名
4.1.3 192.168.17.133 从数据库的ip,哪个客户端可以连接mysql服务端.
4.1.4 smallming 是myslave的密码
grant all privileges on *.* to 'myslave'@'192.168.17.133' identified by 'smallming' with grant option; |
4.2 检查执行结果
5.通过命令可以观察主数据库在主从关系中状态.
5.1 日志文件:存在于mysql安装目录/data
5.2 data文件夹xxxxx.index文件,存储日志文件在哪里.
5.3 data文件夹auto.cnf编写当前mysql的uuid
6.修改主数据库的防火墙,放行3306端口
6.1 # vim /etc/sysconfig/iptables
6.2 重启防火墙:service iptables restart
7.操作从数据库的内容
6.1 修改从数据库的my.cnf的server_id
#vim /etc/my.cnf
6.2 设置server_id为2
8.修改从的uuid
7.1 # vim /usr/local/mysql/data/auto.cnf
7.2 随意把值修改以下
7.3 重写mysql服务
# service mysql restart
9.进入从数据库的客户端工具
# mysql -u root -psmallming
10.操作slave
8.1 关闭slave
# stop slave
8.2 在从中配置出master的信息
change master to master_host='192.168.8.133',master_user='myslave',master_password='smallming',master_log_file='mymasterlog.000001'; |
8.3 开启slave
# start slave
8.4 显示slave状态
# show slave status \G;
8.4.1 只要没有错误,说明配置成功主从关系.
9.验证主从关系
9.1 主从服务都重新启动.
9.2 在主数据库中新建数据库,新建表,添加数据,观察从数据库的状态.
9.2.1 新建数据库
create database demo1 default character set utf8; |