最近又搭建了一套mysql主从,跟之前不同的是,这次是在coentos7上搭建的,使用的mysql版本为5.6.28。下面简要的整理一下安装步骤。
首先,在centos7上安装mysql之前,需要先卸载掉centos7自带的mariadb-libs包,不然会跟将要安装的mysql包冲突。
rpm -e mariadb-libs --nodeps
这里只介绍用rpm包的安装方法。在网上可以找到centos7用的mysql的rpm包,包名类似如下:
mysql-client-XXXXXX.el7.x86_64.rpm
mysql-server-XXXXXX.el7.x86_64.rpm
mysql-shared-XXXXXX.el7.x86_64.rpm
下载到这三个包之后,在服务器上可以使用yum localinstall命令来安装,安装过程中会自动安装依赖的net-tools包的。
安装之后,mysql的root密码是被默认设置了,初始密码记录在:/root/.mysql_secret,要修改的话自己修改即可。
接下来说说mysql主从的配置(mysql主:192.168.0.1,mysql从:192.168.0.2):
---
1. mysql主的my.cnf配置文件:
[mysqld]
server_id=1
log_bin=mysqlbinlog
binlog_format=mixed
然后重启mysql服务,登录mysql主机并给mysql从机授予操作权限:
grant replication slave,reload,super on *.* to slave@192.168.0.2 identified by '123456';
另外,使用show master status命令可以查看master的binlog位置信息,如:
show master status;
+--------------------+----------+--------------+------------------+-------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+--------------------+----------+--------------+------------------+-------------------+
| mysqlbinlog.000001 | 120 | | | |
+--------------------+----------+--------------+------------------+-------------------+
2. mysql从的my.cnf配置文件:
[mysqld]
server_id=2
master_host=192.168.0.1
master_user=slave
master_password=123456
需要注意的是,从机这么配置后mysql启动报错。网上查了一下,好像是新版本不再支持在配置文件中设置master的配置了,需要使用change master命令来操作。
将mysql从的my.cnf配置文件中master相关的配置删掉之后重启mysql,然后登录mysql从机执行如下命令:
change master to master_host='192.168.0.1', master_user='slave', master_passwd='123456',master_log_file='mysqlbinlog.000001',master_log_pos=120;
命令中master_log_file和master_log_pos用来指定master的binlog的位置。如果位置不同步,也是会有问题的。
然后,在mysql命令行启动slave:
start slave;
可以通过命令查看slave的状态:
show slave status\G;
当看到以下两个状态值都为Yes时,则表明同步状态正常:
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
可以在mysql主机上建一个库,如果mysql从机也能同步创建,就说明成功了。