Mysql5.7主主互备安装配置
一、安装说明
=======================================================================================
环境: 10.1.4.57 Centos7.1
10.1.4.58 Centos7.1
说明:需要root权限,遇到的问题都有说明
- 下载地址:
https://dev.mysql.com/downloads/mysql/(mysql-5.7.17-1.el7.x86_64.rpm-bundle.tar)
2. 压缩
tar xvf mysql-5.7.17-1.el7.x86_64.rpm-bundle.tar
3.安装
a) rpm –ivh mysql-community-libs-5.7.17-1.el7.x86_64.rpm
b) rpm –ivh mysql-community-common-5.7.17-1.el7.x86_64.rpm
c) rpm –ivh mysql-community-client-5.7.17-1.el7.x86_64.rpm
d) rpm –ivh mysql-community-server-5.7.17-1.el7.x86_64.rpm
注意: 1.安装步骤不能乱,先安装依赖
2.如果安装遇到软件矛盾,先把其他软件卸载(yum –e remove ***)
4. 启动
service mysqld start
5. 查找初始密码
vi /var/log/mysqld.log,找到root@localhost 后面就是密码
6. 修改密码(不修改密码控制台输入命令会一直报错)
alter user 'root'@'localhost' identified by 'newpassword';
新版mysql改密码会报错,因为有验证密码的插件,改密码前需要先修改配置
set global validate_password_policy=0;
set global validate_password_length=4;
第一个是把验证规则去掉,第二条修改密码长度,如果不输第二条命令,默认长度为8以上
7. 重启
service mysqld restart
8. 开始配置互备,修改配置文件,主要是设置id,其他是为了可能性的出错
vi /etc/my.cnf
[mysqld]
server-id = 1 #backup这台设置2
log-bin = mysql-bin
binlog-ignore-db = mysql,information_schema #忽略写入binlog日志的库
auto-increment-increment = 2 #字段变化增量值
auto-increment-offset = 1 #初始字段ID为1
slave-skip-errors = all #忽略所有复制产生的错误
9. 重启然后登录
service mysqld restart
mysql –u root –p newpassword
10. 查看状态
show master status;
11. 新建用户复制
mysql> GRANT REPLICATION SLAVE ON *.* TO 'replication'@'192.168.0.%' IDENTIFIED BY 'replication';
mysql> flush privileges;
mysql> change master to
-> master_host='10.1.4.58', #对方ip
-> master_user='replication',
-> master_password='replication',
-> master_log_file='mysql-bin.000001', #对方日志
-> master_log_pos=1334; #对端状态显示的值
mysql> start slave; #启动同步
12. 查看状态
show slave status\G;
图中显示为yes则启动成功.如果显示正在连接则等一会儿再查
-
结束啦,连接数据库验证就好了
二、一些问题
=======================================================================================
a. 登录root后新建用户(这里设置密码同样需要注意,权限可以不赋全部)
grant all privileges on *.* to ‘dc’@’10.1.4.%’ identified by '123';
b. 查看
show databases;
use mysql;
select Host,user from user;
可以看到用户和访问的机器,’%’代表所有,正常新建用户后需要更改这个值才可以在其他机器上访问
update user set Host = ‘%’ where user = ‘dc’;
c. 如果Firewall没有开放端口
Firewall-cmd –add-port=3306/tcp
结果succeed就正确了.