主从复制

难留,难舍 2020-03-18 10:54:59
概念
将一个主数据库的数据,同步复制到多个数据库中,减轻数据查询所造成的压力。
原理
主服务器上的任何修改都会保存到二进制文件中去
从服务器上面启动一个I/O线程, 连接到主服务器上面请求读取二进制(Bin-log)日志,然后把读取到的二进制日志写到本地的Realy-log(中继日志)里面。
从服务器上面同时开启一个SQL线程,读取Realy-log(中继日志),如果发现有更新立即把更新的内容在本机的数据库上面执行一遍


语法
1先配置解析
vim /etc/hosts.
192.168.16.136 mysql-master (主
192.168.16.135 master-slavel (从
2配置主服务器配置
vimqu /etc/my,cnf
log-bin=/var/log/mysql/mysql-bin # 二进制日志的位置
server-id=1 # 主库从库不一样
3 创建目录
mkdir /var/log/mysql
4mysql没有读取root的权限需要先授权
chown mysql.mysql /var/log/mysql
5在主服务器上创建用户并授权
#语法 grant replication slave on 库名.表名 to '用户名'@'主机名' identified by '密码'; #密码设置
6在从服务器上进行登录测试连接
mysql -u用户名 -p'密码’ 登录成功即可
7配置从服务器配置
vim /etc/my.cnf
serverid=2
8在主服务器上
show master status\G;
file: 指定binlog日志是哪个
Position: 指定binlog的位置点
9登录从服务器
MASTER_HOST: 主服务器的主机名或者是ip地址
MASTER_USER: 主服务器的用户名,我们设置的是repl
MASTER_PASSWORD: 密码
MASTER_LOG_FILE:日志文件是哪个
MASTER_LOG_POS:日志的位置

...全文
55 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

778

社区成员

发帖
与我相关
我的任务
社区描述
云计算 网络相关讨论
社区管理员
  • 网络
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧