• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

Mysql 配置 读写分离,主从库的配置,最简单的教程

武飞扬头像
Luke
帮助361

前言

随着服务器压力增加,数据库的压力也直线上升,最终不得不选择买几台服务器,做负载均衡和数据库的读写分离

第一步:配置主从的主库,主要是写入数据,不过也能读

打开mysql配置文件

vim /etc/my.cnf

在 [mysqld] 下配置如下

log-bin           = mysql-bin  #[必须]启用二进制日志
server-id         = 11              #[必须]服务器唯一ID,默认是1,最好取ip的后3位
expire_logs_days  = 7          #只保留7天的二进制日志,以防磁盘被日志占满
binlog_do_db=news            #可选,用于指定要主从的数据库,不填写,默认全部数据库

重启主库数据库

systemctl restart mysqld

登录数据库查看 log_bi n是否成功开启:log_bin为ON则表示开启成功,OFF表示开启失败

show variables like '%log_bin%';

第二步:配置从库

打开mysql配置文件

vim /etc/my.cnf

在[mysqld]下配置添加

log-bin           = mysql-bin  #从库可不启用二进制日志
server-id         = 12              #[必须]服务器唯一ID,默认是1,最好取ip的后3位
expire-logs-days  = 7          #只保留7天的二进制日志,以防磁盘被日志占满

重启主库数据库

systemctl restart mysqld

第三步:导入数据

1.先在从库创建好数据库
2.将表结构及数据导入到新创建的从库

第四步:主库创建一个用于同步的账户

grant replication slave on *.* to '你的账户'@'%' identified by '你的密码';

replication 即可满足同步需求,如果不行,可以给all权限

查询数据库账号:

select user,authentication_string,host from mysql.user;

查看主服务器上当前的二进制日志名和偏移量值:

show master status \G

自己测试新创建的账户是否可以正常访问,记得打开远程访问端口, 这里的

position: 偏移量
file: 日志

这两个后面从库创建同步会用到

第五步:配置从库的数据同步

先关闭 mysql 的 slave

stop slave

创建同步

change master to master_host='127.0.0.1',master_port=3306,master_user='你在主库的账户',master_password='你在主库的密码',master_log_file='第三步获取的日志名称',master_log_pos=第三步获取的偏移量

# 示例
change master to master_host='127.0.0.1',master_port=3306,master_user='user',master_password='pass',master_log_file='mysql-bin.000050',master_log_pos=21485

开启同步状态

start slave

各个关键字的介绍

master_host 主库主机的IP地址

master_port 主库的端口,默认为3306

master_user 实现复制的远程登录master的mysql的用户

master_password 实现复制的远程登录master的mysql的面

master_log_file 实现复制的binlog日志文件(主库的文件名)

master_log_pos 实现复制的binlog日志文件的偏移量(主库的偏移量)

第六步:检查数据是否同步成功,在从库执行,不是主库

使用如下命令,查看同步状态

show slave status

主要看这两个,都等于YES,代表成功了。

Slave_IO_Running = yes
Slave_SQL_Running = yes

第七步:验证结果

在主库修改任意表内的数据,在从库相同的表中查看数据是否有变化。
在主库创建一条新数据,在从库查看是否也新增了一条数据

可以使用如下命令,查看同步状态和信息,包括错误信息

show processlist

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanefkb
系列文章
更多 icon
同类精品
更多 icon
继续加载