mysql 5.7 多主一从_centos7部署mysql5.7一主多从

/usr/share/mysql/charsets/

服务器

ip

操作系统

mysql

Mysql_master

192.168.188.11

centos7

5.7

Mysql_slave1

192.168.188.12

centos7

5.7

Mysql_slave2

192.168.188.13

centos7

5.7

一、安装mysql5.7

1、配置YUM源

# 下载mysql源安装包 shell> wget http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm

# 安装mysql源 shell> yum localinstall mysql57-community-release-el7-8.noarch.rpm

检查mysql源是否安装成功

shell> yum repolist enabled | grep "mysql.*-community.*"

5157

2、安装MySQL

shell> yum install mysql-community-server

3、启动MySQL服务

shell> systemctl start mysqld

查看MySQL的启动状态

shell> systemctl status mysqld

5054

4、开机启动

shell> systemctl enable mysqld shell> systemctl daemon-reload

5、修改root本地登录密码

mysql安装完成之后,在/var/log/mysqld.log文件中给root生成了一个默认密码。通过下面的方式找到root默认密码,然后登录mysql进行修改:

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

5060

shell> mysql -u root -p mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass4!';

或者

mysql> set password for 'root'@'localhost'=password('MyNewPass4!');

注意:mysql5.7默认安装了密码安全检查插件(validate_password),默认密码检查策略要求密码必须包含:大小写字母、数字和特殊符号,并且长度不能少于8位。否则会提示ERROR 1819 (HY000): Your password does not satisfy the current policy requirements错误,如下图所示:

5059

6、登录mysql

mysql -u root -p

7、设置允许访问的ip

如果你想允许用户root从ip为192.168.188.62的主机连接到mysql服务器,并使用root作为密码

GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.188.62'IDENTIFIED BY 'password' WITH GRANT OPTION;

8、刷新

flush privileges;

9、防火墙开启

//1、开启端口3306

firewall-cmd --zone=public --add-port=3306/tcp --permanent//2、重启防火墙

firewall-cmd --reload//3、查看已经开放的端口:

firewall-cmd --list-ports

以上安装需要在每台服务器上进行!!!

Master的配置

1、配置内容

在/etc/my.cnf文件中添加以下配置项

# 设置server_id,一般设置成IP

server_id=18811# 需要备份的数据库

binlog-do-db=dfs

# 不需要备份的数据库

binlog-ignore-db=mysql

binlog-ignore-db=information_schema

binlog-ignore-db=performance_schema

binlog-ignore-db=sys

# 开启二进制日志功能,名字自己起,主服务器必须开启

log-bin=master-bin

2、重启mysql

service mysqld restart

3、登陆mysql数据库,设置用于从数据库登陆的远程连接

GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.188.12'IDENTIFIED BY 'password'WITH GRANT OPTION;

GRANT ALL PRIVILEGES ON*.* TO 'root'@'192.168.188.13'IDENTIFIED BY 'password'WITH GRANT OPTION;

flush privileges;

4、查看是否设置成功

mysql> select user,host from mysql.user;

5097

4、查看master状态

mysql> show master status\G;

注意File,Position两个字段,一会配置从服务器要用到

5101

5、想要重新配置master,并清零position,可以使用下边命令。

mysql> reset master;

Slave1的配置

1、配置内容

在/etc/my.cnf文件中添加以下配置项

# 设置server_id,一般设置成IP

server_id=18812# 需要备份的数据库

binlog-do-db=dfs

# 不需要备份的数据库

binlog-ignore-db=mysql

binlog-ignore-db=information_schema

binlog-ignore-db=performance_schema

binlog-ignore-db=sys

# 开启二进制日志功能,也可以不开启,如果这个slave不作为master

log-bin=slave1-bin

2、重启mysql,登陆mysql,关联master

service mysqld restart

先停止(每次设置slave都需要先停止)

mysql> stop slave;

设置slave

mysql> change master to master_host='192.168.188.11', master_user='root', master_password='password',master_log_file='master-bin.000002', master_log_pos=928;

注意此处的master_log_file,master_log_pos分别是master中File,Position两个字段的值。

3、查看slave的状态

mysql> show slave status\G;

5140

开启slave

mysql> start slave;

再次查看状态,应该变成yes

mysql> show slave status\G;

5128

Slave2的配置

首先你需要知道Slave的配置和Slave1的配置方式是完全相同的,只一些配置的内容不同

1、配置内容

在/etc/my.cnf文件中添加以下配置项

# 设置server_id,一般设置成IP

server_id=18813# 需要备份的数据库

binlog-do-db=dfs

# 不需要备份的数据库

binlog-ignore-db=mysql

binlog-ignore-db=information_schema

binlog-ignore-db=performance_schema

binlog-ignore-db=sys

# 开启二进制日志功能,也可以不开启,如果这个slave不作为master

log-bin=slave2-bin

2、重启mysql,登陆mysql,关联master

service mysqld restart

先停止(每次设置slave都需要先停止)

mysql> stop slave;

设置slave

mysql> change master to master_host='192.168.188.11', master_user='root', master_password='password',master_log_file='master-bin.000002', master_log_pos=928;

注意此处的master_log_file,master_log_pos分别是master中File,Position两个字段的值。

3、查看slave的状态

mysql> show slave status\G;

5149

开启slave

mysql> start slave;

再次查看状态,应该变成yes

mysql> show slave status\G;

5148

这样就已经可以了,在主服务器测试下,所有操作都会同步到从服务器

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值