三台机器
192.168.198.133 MASTER
192.168.198.134 SLAVE
192.168.198.136 SLAVE
首先确定机器能联网,然后初始化机器关闭防火墙 关闭selinux/关闭swap
systemctl stop firewalld
systemctl disable firewalld
[root@nginx-4 ~]# vim /etc/selinux/config
将此字段注释或者是将后端的参数改成
SELINUX=disabled
[root@nginx-4 ~]# swapoff -a
关闭swap还可以直接进入rc.local将关于swap的那段直接给注释掉
1.安装mysql的源
配置MySQL的yum
[root@nginx-1 yum.repos.d]# wget http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm
yum -y localinstall mysql57-community-release-el7-8.noarch.rpm
查看是否存在可安装的MySQL
yum repolist enabed | grep "mysql*"
如果存在直接就安装
[root@nginx-1 yum.repos.d]# yum install mysql-community-server
安装完成直接启动
systemctl start mysqld
systemctl enable mysqld
以上操作在三台机器上都执行
然后开始配置master
首先查看以下安装的MySQL的初始的登录密码是多少
grep 'temporary password' /var/log/mysqld.log
这是生成的默认的密码,过滤出来如图
此为初始的密码
[root@nginx-4 ~]# mysql -uroot -p-h+bqI&K6s/s
登录改密码还有一种就是逃过验证直接登录,此处不做过多累述
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'mysqlABC!';
这样修改自己的密码,
mysql5.7默认安装了密码安全检查插件(validate_password),默认密码检查策略要求密码必须包含:大小写字母、数字和特殊符号,并且长度不能少于8位。否则会提示ERROR 1819 (HY000): Your password does not satisfy the current policy requirements错误。
然后flush privileges;
然后授权两个从可以从远程连接本机,使用 root用户和youpasswd
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.198.134'IDENTIFIED BY 'mysql@123ABC!' WITH GRANT OPTION;
Query OK, 0 rows affected, 1 warning (0.00 sec)
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.198.136'IDENTIFIED BY 'mysql@123ABC!' WITH GRANT OPTION;
Query OK, 0 rows affected, 1 warning (0.01 sec)
可以使用命令查看一下
select user,host from mysql.user;
直接看到自己授权的用户。
授权完成,查看master的状态
show master status\G;
直接看到然后直接退出
更改
vim /etc/my.cnf
加上
server_id=133 #一般情况下直接使用本机的IP
log-bin=master133 #随便起
max_connections=5000 #防止连接太多连不上数据库
加上这个参数然后
systemctl restart mysqld
2.配置slave
vim /etc/my.cnf
加上
server_id=133 #一般情况下直接使用本机的IP
log-bin=master133 #随便起
max_connections=5000 #防止连接太多连不上数据库
加上这个参数然后
systemctl restart mysqld
然后过滤出自己的mysql初始的密码登上去
然后如上图一样修改自己的密码然后
stop slave;
mysql> change master to master_host='192.168.198.133', master_user='root', master_password='mysql@123ABC!',master_log_file='master-bin.000001', master_log_pos=154;
如果显示ok就
start slave;
show slave status\G;
两个都是yes就没有问题成功同步
两个slave都是一样的操作只需要将
my.cnf
中的server_id=与其他两个不同
log-bin=slave136#自己取名字
max_connections=5000
systemctl restart mysqld
和上边的slave步骤是一样的,一步一步就能成功;
成功以后可以去master上看一下是否两个都连接了
mysql -uroot -p mysql@123ABC!
登陆上以后查看
两个都存在
有两个问题
随笔- 17 文章- 0 评论- 0
/lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found
然后
cp extra/libstdc++.so.6.0.24 /usr/lib64/
rm -rf /usr/lib64/libstdc++.so.6
ln -s /usr/lib64/libstdc++.so.6.0.24 /usr/lib64/libstdc++.so.6
重新启动mysql
"error while loading shared libraries:libatomic.so.1:cannot open shared objec"问题解决办法
找到
libatomic.so.1 然后将他复制到 /usr/lib64
问题解决