zi663227 发表于 2018-10-6 10:56:16

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永久设置。
  # cat /etc/sysconfig/network
  NETWORKING=yes
  HOSTNAME=MySQL-Master
  配置解析自己主机名
  # 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
  

# cat /etc/my.cnf  

  
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
  
server_id = 1
  
log_bin = /data/mysql/bin_log
  

  

  
log-error=/data/log/mysqld.log
  
pid-file=/data/mysql/mysqld.pid
  

  

  
socket=/data/mysql/mysql.sock
  

  注意:1.   /etc/my.cnf中/data/log为mysql的日志目录,事先已经创建,如果不同请自行修改。 2.       /etc/my.cnf中/data/mysql为mysql的数据目录,事先已经创建,如果不同请自行修改。3. 配置slave时要注意server_id一定要与master不同,否则会失败。

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的root@'localhost'的密码在/root/.mysql_secret文件中。

三. 配置主从

1. 修改root密码

  mysql>>  注意:mysql-5.7系列要先修改用户密码才能进行操作,提供安全性。

2. 配置主从操作
  master上的操作
  分配slave权限给用户

  mysql> GRANT REPLICATION CLIENT,REPLICATION SLAVE ON . TO repluser@'192.168.%'>  查看二进制
  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/


页: [1]
查看完整版本: MySQL-5.7主从搭建