数据的读写都放在一台数据库上会导致该数据库压力过大,且如果此数据库损坏丢失无备份会造成损失
故:
设置两台(这里以两台为例)
主数据库负责写入
从数据库负责读取
从数据库从主数据库那里取数据进行数据同步
开干!
(一)在VM准备好两台虚拟机
创建虚拟机真的很简单 选择典型之后一直点下一步就行了
第一个要填的四个text是名字x2和密码+再次确认密码
第二个要填的text是你这次创建的虚拟机的名字
然后记得光驱选择自己的 梅开二度的错误要注意
【笔记】vmware新建虚拟机显示no boot filename received 解决_vmware装win7 noboot file received-CSDN博客
然后等其安装好就可以了 时间有点长可以去干点别的
然后在虚拟机上安装mysql
我这次遇到的问题是centos官方的镜像资源失效 已解决 如果你也有这个问题 移步
【笔记】记一次在linux上通过在线安装mysql报错 CentOS 7 的官方镜像已经不再可用的解决方法+mysql配置-CSDN博客
(二)配置
两台虚拟机都启动都准备好后链接finalshell登进mysql
首先走来的是主数据库的配置
vim /etc/my.cnf 编辑主数据库的配置文件
一堆注释懒得看 我们直接在尾部加那两句配置语句
esc 退出:wq
输入systemctl restart mysqld 重启数据库
(三)主数据库的操作
*我的主数据库ip地址为:192.168.81.130
在finalshell登进mysql
mysql -u root -p
输入sql语句:
GRANT REPLICATION SLAVE ON *.* TO 'xiaoming' @ '%' IDENTIFIED BY 'Root@123456';
这一句sql的意思是创建一个用在从数据库的用户xiaoming并赋予他所有权利 有了他就可以联系起主从数据库获取日志 使得从数据库同步主数据库的数据
然后我的数据库的8.0版本 这语句在我的mysql行不通
MYSQL8.0新建用户并授予权限流程 - 哔哩哔哩 (bilibili.com)
感谢↑
在finalshell中登录以root身份mysql
故mysql8.0创建授权用户权限的语句为:
CREATE USER 'xiaoming'@'192.168.81.130' IDENTIFIED BY 'Shelena27-E';
GRANT ALL PRIVILEGES ON *.* TO 'xiaoming'@'192.168.81.130' WITH GRANT OPTION;
FLUSH PRIVILEGES;
确保主库上配置了允许从库IP(或DBeaver客户端IP)连接的用户权限。执行以下SQL命令:
允许任何IP地址连接:
CREATE USER 'xiaoming'@'%' IDENTIFIED BY 'Shelena27-E';
GRANT REPLICATION SLAVE ON *.* TO 'xiaoming'@'%'; FLUSH PRIVILEGES;
刷新之后退出账号
==================================================================
没有则无视这部分
以防万一你创建过一模一样的数据同步账号(这里指xiaoming):
====================================================================
用xiaoming(新创建账户的名字)登录查看状态
(四)从数据库配置
1.编辑从数据库配置文件
后面为了方便我把从数据库id改成11了
2。在从数据库中登录root账号
输入语句:
CHANGE MASTER TO
MASTER_HOST='192.168.81.130',
MASTER_USER='xiaoming',
MASTER_PASSWORD='Shelena27-E',
MASTER_LOG_FILE='mysql-bin.000002',
MASTER_LOG_POS=908,
GET_MASTER_PUBLIC_KEY=1;
START SLAVE;
SHOW SLAVE STATUS \G;
接下图
!!!IO流有问题
解决:
查找uuid 并复制
编辑内容为:
然后再次show slave satus
IO还是connecting 不理会了
---------------------------------------------------------------------------------------------------
找到原因了:主数据库中通过登录xiaoming这个中介账户获取master的信息
这个是会变化的 原因不知
但是在从数据库中登录root输入的chage语句要时刻和主数据库中一致
然后再查看show slave status;
的IO就是yes了!
然后!很重要的一点就是你在从数据库上也要创建那个xiaoming账户
我会错意了搞了好久
(五)
在数据库上连接主从数据库
这部分卡了好久
【笔记】centos7虚拟机连接dbeaver数据库失败好多次折磨我三天三夜-CSDN博客
如果一切正常直接在finalshell中登录xiaoming账户 然后在dbbeaver连接 该填什么填什么
在虚拟机Centos7的mysql主从数据库复制成功! 历时六天解决TT
以防你连接成功不久后也出现了这个问题
【笔记】在虚拟中的主从数据库连接实体数据库成功后的从数据库不同步问题-CSDN博客
标签:语句,xiaoming,虚拟机,主从复制,笔记,MASTER,mysql,数据库 From: https://blog.csdn.net/2301_81538937/article/details/140214597