mysql的主从配置
#mysql数据库 #主从MySQL数据库主从配置
1.MySQL主从介绍
MySQL 主从又叫做 Replication、AB 复制。简单讲就是 A 和 B 两台呆板做主
从后,在 A 上写数据,另外一台 B 也会跟着写数据,两者数据及时同步的。
MySQL 主从是基于 binlog 的,主上须开启 binlog 才气举行主从。
主从过程大致有 3 个步骤:
1)主将更改操作纪录到 binlog 里
2)从将主的 binlog 事件(sql 语句)同步到从本机上并纪录在 relaylog
里中继日记
3)从根据 relaylog 里面的 sql 语句按序次执行
主配置(安装完 mysql 的虚拟机)
一台IP:192.168.13.5 我将这台虚拟机作为我的主服务器
一台IP:192.168.13.8 我将这台虚拟机作为我的从服务器
基础配置:
# vi /etc/my.cnf进入MySQL的编辑文件
https://i-blog.csdnimg.cn/direct/5307f65c73c44f56b56b4a9d29debf23.png
重启mysqld服务:(两种都可以)
错误:出现错误之后,可以检察MySQL的历程,如果有的话,请先全部kill掉
ps aux | grep mysql *kill -9 历程数据
# /etc/init.d/mysqld restart
# systemctl start mysqld.service
备份MySQL库(参加环境变量)
# mysqldump -uroot mysql > /tmp/mysql.sql 输入该命令之后会存在命令不存在,可以通过添加mysql的环境变量
https://i-blog.csdnimg.cn/direct/98ab86e2b79743f28034e143b35b9982.png
https://i-blog.csdnimg.cn/direct/2a9adfec6a964cdd80d03dbba8da8e18.png
创建一个库保存数据(此库为同步库)
# mysqldump -uroot -e “create database kei”
将MySQL库规复成新建的库,作为测试数据,举行数据库配置
# mysql -uroot进入数据库,创建同步数据的用户赋予权限
mysql> grant replication slave on *.* to ‘repl’ @192.168.13.5 identified by ‘204718’;
https://i-blog.csdnimg.cn/direct/2869a447c27c4e44806d18cc22f6223a.png
提醒:此次进入的仅此为数据库,可以使用use MySQL或者是其他进入数据库,如果要进入MySQL数据库一定要进去,由于MySQL自己就含有一个MySQL数据库
将表锁住,保持表内的数据不变
mysql> flush tables with read lock;
https://i-blog.csdnimg.cn/direct/cdaa39ce47e547129ec35553a275dbbb.png
表现主机的状态
mysql> show master status;
https://i-blog.csdnimg.cn/direct/a1d1b230e79e419db3ec6d1ac719bc04.png
错误:这里一定要仔细,要不然很有可能出现主机状态为空,配置MySQL文件的时间需要解释掉和需要留存的要分清楚,尤其是主配置中添加配置文件的时间。我们可以通过,ls -/data/mysql 检察有错误的地方(含有err即为错误日记)# tail -15 /data/mysql/aminglinux.000001用这个命令检察错误日记。其中/data/mysql就是存放mysql数据库,后面就是二进制日记。
https://i-blog.csdnimg.cn/direct/12c62536074c44eab6655cc80d107dca.png
https://i-blog.csdnimg.cn/direct/b469c4bd848b4667b205ae828ecddc54.png
从配置(安装完mysql的虚拟机)
基础配置:
# vi /etc/my.cnf进入MySQL的编辑文件
https://i-blog.csdnimg.cn/direct/8bb3977e1d0646768aa475d51865db19.png
重启mysqld服务:(两种都可以)
# /etc/init.d/mysqld restart
# systemctl start mysqld.service
错误:出现错误之后,可以检察MySQL的历程,如果有的话,请先全部kill掉
ps aux | grep mysql *kill -9 历程数据
在主服务器大将文件拷贝到从上,并在从上检察两者的文件大小是否一致
# scp /tmp/mysql.sql root@192.168.13.8:/tmp/这里填写的IP为从的
# ls -la /tmp/mysql.sql
https://i-blog.csdnimg.cn/direct/016ee2a76bb94a4288d372dc75bb35ed.png
创建一个和主一样的库
# mysqldump -uroot -e “create database kei”
https://i-blog.csdnimg.cn/direct/e198d50c6abc4c0daa2e67b352f2aaae.png
将文件的内容导入库
# mysql -uroot kei < /tmp/mysql.sql
# mysql -uroot进入数据库,配置数据库
错误:此时的IP等一系列,要求的都是为主服务器的,log_file和log_pos都通过主配置的表现主机状态中得到。
https://i-blog.csdnimg.cn/direct/54030cf820334843897a6a23da8ff02c.png
在主上面执行解锁表
> unlock tables;
https://i-blog.csdnimg.cn/direct/86a6f77f1ccb427096b8ae7d146cd941.png
举行验证的时间,需要革新
主从同步以及相关配置参数
在从服务器上操作并执行命令,关闭防火墙
>systemctl stop firewalld
>setenforce 0
> show slave statusG
https://i-blog.csdnimg.cn/direct/2fd3da29c670408ba98a9babfef8c4b5.png
https://i-blog.csdnimg.cn/direct/a6ec45a1e489496590dd98b94a4752ec.png
出现上面的这种即为正确的,表示配置正常。
https://i-blog.csdnimg.cn/direct/46f0b6e605d64613a1833b3625d964fa.png
https://i-blog.csdnimg.cn/direct/3c1a2432272c43609016fb226c69c492.png
配置参数
# vi /etc/my.cnf从
https://i-blog.csdnimg.cn/direct/e5317e336dfa44d5ab462ee69e55d612.png
# vi /etc/my.cnf主
https://i-blog.csdnimg.cn/direct/3474855c714a4014abed8fb1b276dec6.png
[*] 测试主从
主:进入同步的数据库(注意MySQL的自己含有MySQL数据库)
# mysql -uroot
mysql> use kei由于我创建的用来同步的库为kei
mysql> select count(*)from db;
https://i-blog.csdnimg.cn/direct/380d1abd372d46a68b7104e7d990ee64.png
从:
# mysql -uroot
mysql> use kei
mysql> select count(*)from db;
https://i-blog.csdnimg.cn/direct/44764fe5c3da477d9457b6007928bd15.png
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页:
[1]