centos7 mysql5.7主从库搭建

centos7 mysql5.7主从库搭建

1.下载 MySQL yum包

wget http://repo.mysql.com/mysql57-community-release-el7-10.noarch.rpm

2.安装MySQL源

rpm -Uvh mysql57-community-release-el7-10.noarch.rpm

3.安装MySQL服务端,需要等待一些时间

yum install -y mysql-community-server

4.启动MySQL

systemctl start mysqld.service

5.检查是否启动成功

systemctl status mysqld.service

6.获取临时密码,MySQL5.7为root用户随机生成了一个密码

grep 'temporary password' /var/log/mysqld.log

7.通过临时密码登录MySQL,进行修改密码操作

mysql -uroot -p

使用临时密码登录后,不能进行其他的操作,否则会报错,这时候我们进行修改密码操作

8. 因为MySQL的密码规则需要很复杂,我们一般自己设置的不会设置成这样,所以我们全局修改一下

mysql> set global validate_password_policy=0;
mysql> set global validate_password_length=1;

这时候我们就可以自己设置想要的密码了(yourpassword 这里改成你自己的密码)

ALTER USER 'root'@'localhost' IDENTIFIED BY '你的密码';

9.授权其他机器远程登录

use mysql;
update user set host = '%'  where user ='root';
FLUSH PRIVILEGES;

10.开启开机自启动

先退出mysql命令行(执行 quit指令),然后输入以下命令

systemctl enable mysqld
systemctl daemon-reload

11.设置MySQL的字符集为UTF-8,令其支持中文,设置时区

vim /etc/my.cnf

# 添加

    [mysql] # 注意这里mysql,没有的自己写
    default-character-set=utf8
    [mysqld]
    default-storage-engine=INNODB
    character-set-server=utf8
    collation-server=utf8_general_ci
    default-time_zone = '+8:00'

12. 重启一下MySQL,令配置生效

 systemctl restart mysqld.service

13.防火墙开放3306端口

firewall-cmd --state
firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --reload

14. 卸载yum 按的哪个

rpm -qa | grep mysql
yum -y remove mysql57-community-release-el7-10.noarch

15. 增加终端访问速度

进入插入编辑模式,然后在[mysqld]中输入内容“skip-name-resolve”

vim /etc/my.cnf

[mysqld]
skip-name-resolve

16.修改主库配置文件

vim /etc/my.cnf 

# 主节点设置以下内容
port=3306
binlog-ignore-db=mysql # 代表哪些库无需同步
server-id=1        # 很关键1 代表主 ,从库配置的时候必须和他不一样
expire-logs-days =7
binlog-ignore-db=information_schema # 表示不同步得mysql库
binlog-ignore-db=performation_schema
binlog-ignore-db=sys
 
log-bin=master-bin # 日志名称
log-slave-updates=true

创建一个用于主从同步得账户


#登录MySQL , 
$ mysql -u root -p    
create user 'sync'@'%' identified by '你的密码' # 5.7要求密码必须含有大小写英文,符号和数字
#赋予FILE权限,允许从从库ip访问主库
# 这里得地址是从节点得
grant FILe on *.* to 'sync'@'xx.xx.xx.52' identified by '你的密码';
#赋予主从同步权限
grant replication slave on *.* to 'sync'@'xx.xx.xx.52' identified by '你的密码'; 

修改完之后重启mysql

 systemctl restart mysqld.service
 ###### 
 show master status; #查看主库的状态  file,position 这两个值很有用,记一下;需要放到slave配置中
 
 +--------------------+----------+--------------+------------------+-------------------+
| File               | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+--------------------+----------+--------------+------------------+-------------------+
| master-bin.000002  |     154  |     xxxx     |                  |                   |
+--------------------+----------+--------------+------------------+-------------------+
1 row in set (0.00 sec)

17. 从节点配置

vim /etc/my.cnf 

## 从节点修改
log-bin=mysql-bin
server-id=2 # 确保唯一
binlog-ignore-db=mysql
binlog-ignore-db=information_schema
binlog-ignore-db=performation_schema
binlog-ignore-db=sys
 
log-slave-updates
slave-skip-errors=all
slave-net-timeout=60

配置完成后重启从库


systemctl restart mysqld.service
#登录mysql
mysql -u root -p 
#关闭从库
stop slave; 
## 这里得地址是主节点得地址。后面两个参数是show master status;从主库中查出来得
change master to master_host='xx.xx.xx.56', master_user='sync' ,master_password='你的密码', master_log_file='master-bin.000002' ,master_log_pos=154;
 #开启从库 
start slave;
show slave status \G; #Slave_IO_Running,Slave_SQL_Running 都为Yes的时候表示配置成功

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值