Mysql 主从复制
mysql主要用于减轻单台数据库服务器的并发限制,也有数据备份的作用。主从分离以后也可以减少写入数据库行锁对查询效率的影像。主要的操作方式是通过mysql自带的二进制日志文件进行实现。需要准备主从两台mysql数据库。
- 在主库中修改mysql数据库的配置文件 /etc/my.cnf 中添加
[mysqld] log-bin=mysql-bin # 启用二进制日志 server-id=100 # 服务器为一id
# 保存以后
systemctl restart mysqld # 重启mysql - 登录主库添加从库访问用户并设置密码
# 这个需要登录到mysql 执行 因为是一条sql
CREAT REPLICATION SLAVE ON *.* to xiaoming'@'%'identified by 'Root@123456';
#创建一个用户xiaoming,密码Root@123456,并且xiaoming用户授权REPLICATION SLAE 权限,常用于建立复制时所需要用户的用户权限,也就是slave必须被master授权具有该权限的用户,才能通过该用户复制
show master status; # 记录下结果中File和Position的值 (执行完此sql后不要再执行任何操作) - 仓库配置修改mysql数据库配置文件 /etc/my.cnf
[mysqld] server-id=101 # 服务器唯一ID
# 保存以后
systemctl restart mysqld # 重启mysql
# 登录从库执行sql语句
change master to master_host='主库地址:端口',master_user='xiaoming',master_password='Root@123456',master_log_file='mysql-bin.000001(主库通过show语句显示的文件名)',master_log_pos=439(主库通过手语句显示节点);
# 如果运行提示已经有io进城在执行了 需要运行 stop slave 停止
stop slave
# 然后运行
start slave
# 检查从库状态
show slave status;然后就可以通过各种数据库框架进行配置读写分离的操作了