第一次搭建mysql主从,记录一下踩坑(都是参照别的教程做的)
1. 虚拟机安装 centos7
- 虚拟机的安装,vmware实在是太垃圾了,还卡,弄了一天后换上virtual box流畅的很
- 在虚拟机中安装centos7,一共安装了两个centos服务器(网卡的问题要注意)
安装完配置好网络后,能连接外网,但是我用 finalshell 接不上
首先右键点击这个下面的,在网络中选择网卡2(主要要先把服务器关闭),选择 host-only,就能和主机通信了 然后使用
ip addr就能看到虚拟机的内网ip (192.168.*.*)了
2. centos 安装 mysql8
2.1 安装mysql
下载软件包:
wget https://repo.mysql.com//mysql80-community-release-el7-1.noarch.rpm
本地安装:
yum localinstall mysql80-community-release-el7-1.noarch.rpm
安装mysql:
yum install mysql-community-server
设为开机启动:
systemctl enable mysqld
systemctl daemon-reload
启动mysql:
systemctl start mysqld
以上步骤就安装好mysql8了。
获取mysql的临时密码(mysql8 会有一个默认密码):
grep 'temporary password' /var/log/mysqld.log
登录mysql:
mysql -uroot -p
会提示输入密码,输入之前获取的临时密码即可登录。
此时需要修改mysql的密码,要不然之后的步骤也会强制提示你需要修改密码:
# 这个 localhost,如果需要在其他地方,比如:navicat连接,需要改成%,可以自己看着使用localhsot还是 %
ALTER USER 'root'@'localhost' IDENTIFIED BY '121b33dAj934J1^Sj9ag';
mysql8默认对密码的强度有要求,需要设置复杂一点,要不然也会提示错误。
刷新配置:
FLUSH PRIVILEGES;
主从搭建具体参考 这个链接, 这里主要记录遇到的错误
若SlaveIORunning一直是Connecting,有下面4种原因:
1、网络不通,检查ip端口
2、密码不对,检查用于同步的用户名和密码
3、pos不对,检查Master的Position
4、mysql8特有的密码规则问题引起
这里还有一个原因
5、有可能防火墙没关,由于我是本地虚拟机,所以直接把虚拟机防火墙关了
若Slave_SQL_Running: No 有可能是slave重启了或者事务回滚造成的
mysql> slave stop;
mysql> set GLOBAL SQL_SLAVE_SKIP_COUNTER=1;
mysql> slave start;
这里遇到的问题大概有:虚拟机网络问题、mysql不能设置简单的密码、从数据库一直是running、从数据库连上了master 但是SQL_Running:NO
数据库方面教程转载:掘金:Mysql主从搭建原理及过程