MySQL-5.7主从搭建
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL-5.7主从搭建相关的知识,希望对你有一定的参考价值。
一. 系统信息
Linux版本:6.8
mysql版本信息: /mysql-5.7.21-linux-glibc2.12-x86_64.tar.gz
两台机器IP:
192.168.196.220
192.168.196.221
说明:
mysql的安装目录:/opt/mysql
mysql的数据路面:/data/mysql
二. 安装MySQL-5.7
1. 设置hostname
hostname当前生效。
~]# hostname MySQL-Master
hostname永久设置。
[[email protected] ~]# cat /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=MySQL-Master
配置解析自己主机名
[[email protected] ~]# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 MySQL-Master
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.196.220 MySQL-Master
192.168.196.221 MySQL-Slave
集群中的主机一定要使其能够相互解析,可以通过DNS解析,也可以通过/etc/hosts文件进行。如果主机台数不多我们一般都会选用hosts文件进行解析。因为DNS要依赖于外部服务。
2. 下载安装包
~]# wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.21-linux-glibc2.12-x86_64.tar.gz
3. 展开mysql tarball
~]# tar xf mysql-5.7.20-linux-glibc2.12-x86_64.tar.gz -C /opt/
opt]# ln -sv mysql-5.7.20-linux-glibc2.12-x86_64 mysql
4. 创建用户,以及数据目录和日志目录
~]# useradd -r mysql
~]# install -d -o mysql -g mysql /data/mysql
~]# install -d -o mysql -g mysql /data/log
5. 安装需要的的libnuma.so.1动态库
~]# yum -y install numactl
6. 将mysql二进制文件加入到PATH路径中
~]# vim /etc/profile.d/mysql.sh
export PATH=/opt/mysql/bin:$PATH
7. 配置文件my.cnf
[r[email protected] ~]# cat /etc/my.cnf
[mysqld]
log-error=/data/log/mysqld.log
pid-file=/data/mysql/mysqld.pid
datadir=/data/mysql
socket=/data/mysql/mysql.sock
user=mysql
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
innodb_file_per_table = ON
skip_name_resolve
[mysqld_safe]
log-error=/data/log/mysqld.log
pid-file=/data/mysql/mysqld.pid
[mysql]
socket=/data/mysql/mysql.sock
注意:1. /etc/my.cnf中/data/log为mysql的日志目录,事先已经创建,如果不同请自行修改。 2. /etc/my.cnf中/data/mysql为mysql的数据目录,事先已经创建,如果不同请自行修改
8. 拷贝启动脚本
~]# cp /opt/mysql/support-files/mysql.server /etc/init.d/mysqld
注意:
修改datadir和basedir目录的值:
basedir=/opt/mysql
datadir=/data/mysql
因为mysql的安装目录为/opt/mysql。mysql的数据目录为/data/mysql
9. 创建mysql数据
~]# mysql_install_db --no-defaults --datadir=/data/mysql --user=mysql --basedir=/opt/mysql
注意:--no-defautls会取消mysql_instal_db默认读取路径,不加会创建失败。而且一定要紧随mysql_install_db之后,否则不会生效。
10. 设置开机自启启动服务
~]# chkconfig --add mysqld
~]# service mysqld start
11. 测试连接数据库
~]# mysql -p"g2!vaDpB16it"
注意:mysql的[email protected]‘localhost‘的密码在/root/.mysql_secret文件中。
三. 配置主从
1. 修改root密码
mysql> ALTER USER [email protected]‘localhost‘ IDENTIFIED BY ‘mysql_pass‘;
注意:mysql-5.7系列要先修改用户密码才能进行操作,提供安全性。
2. 修改root密码
master上的操作
分配slave权限给用户
mysql> GRANT REPLICATION CLIENT,REPLICATION SLAVE ON . TO [email protected]‘192.168.%‘ IDENTIFIED BY ‘replpass‘;
查看二进制
mysql> SHOW MASTER STATUS;
+----------------+----------+--------------+------------------+-------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+----------------+----------+--------------+------------------+-------------------+
| bin_log.000001 | 711 | | | |
+----------------+----------+--------------+------------------+-------------------+
slave上的操作:
配置同步的master主机:
mysql> CHAMGE MASTE TO MASTER_HOST=‘192.180.196.220‘,MASTER_USER=‘repluser‘,MASTER_PASSWORD=‘replpass‘,MASTER_LOG_FILE=‘bin_log.000001‘,MASTER_LOG_POS=711;
启动slave进程:
mysql> start slave;
查看slave是否正常启动:
mysql> show slave status;
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
这两个参数为yes说明启动正常
查看slave同步数据
mysql> SHOW DATABASES;
并查看是否具有master上的数据。
参考
配置时中途出现错误都是查看的官网,官网网址为: https://dev.mysql.com/doc/refman/5.7/en/
以上是关于MySQL-5.7主从搭建的主要内容,如果未能解决你的问题,请参考以下文章