MySQL5.6 二进制包安装及主从复制

环境准备:
系统版本:CentOS release 6.8 (Final) 初始化完成
MySQL版本:mysql5.6.30
MySQL源码下载地址:https://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.30-linux-glibc2.5-i686.tar.gz
安装流程:

  1. 下载软件包:
    wget https://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.30-linux-glibc2.5-i686.tar.gz
  2. 删除原来的mysql以及相关文件:
    rpm -e --nodeps mysql
    find / -name mysql -> 将查找到的文件全部删除
    whereis mysql -> 将查找到的文件全部删除
  3. 安装前准备工作:
    3.1 创建MySQL用户组和MySQL用户:
    检查系统本身是否有mysql用户和组,没有则进行创建:
    ~]# cat /etc/passwd | grep mysql
    ~]# cat /etc/group | grep mysql
    ~]# groupadd mysql
    ~]# useradd -g mysql -s /sbin/nologin mysql
    4.开始安装:
    4.1 将下载的软件包解压到指定路径:
    ~]# tar -zxvf mysql-5.6.30-linux-glibc2.5-i686.tar.gz -C /usr/local/
    4.2 将解压好的文件夹进行改名:
    ~]# mv /usr/local/mysql-5.6.30-linux-glibc2.5-i686 /usr/local/mysql
    4.3 授权:
    ~]# chown -R mysql:mysql /usr/local/mysql/
    5.MySQL初始化:
    mysql]# ./scripts/mysql_install_db --datadir=/usr/local/mysql/data/ --basedir=/usr/local/mysql/ --user=mysql
    注意所在位置,否则会报 FATAL ERROR: Could not find ./bin/my_print_defaults 错误,原因为按照安装脚本要求需要在当前路径下的bin目录中的my_print_defaults文件,如果未在mysql的安装路径下执行这条命令就无法找到需要的文件。
    执行过程中可能出错,报缺少相关包的错误,按要求安装即可。

    初始化完成,在/usr/local/mysql 下会再生成一个数据库配置文件my-new.cnf,和原配置文件my.cnf没有区别使用原文件即可。
    6.后续操作:
    6.1 配置MySQL开机自启:
    support-files]# ln -s ./mysql.server /etc/init.d/mysqld
    support-files]# chkconfig mysqld on
    6.2 将mysql命令加入/usr /bin:
    bin]# ln -s ./mysql /usr/bin/mysql
    6.3 登入数据库并修改密码:
    ~]# /etc/init.d/mysqld start

    至此二进制包安装MySQL完成。

基于GTID的主从复制:

1. 环境准备:

操作系统:CentOS release 6.8 (Final)
MySQL版本:5.6.30(二进制安装)
IP角色端口
192.168.1.250master3306
192.168.1.251slave3306

2. 文件位置:

二进制安装,配置文件my.cnf路径:/usr/local/mysql/my.cnf

3. 开始配置:

##### 3.1 修改两台主机的hosts文件:
~]# vim /etc/hosts
192.168.1.250 masterb
192.168.1.251 slaveb
##### 3.2 修改两台主机的MySQL配置文件:
~]# vim /usr/local/mysql/my.cnf
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data
port = 3306
server_id = 1
autocommit=1
log-bin=mysql-bin
binlog_format=row
gtid_mode=ON
enforce_gtid_consistency=1
log-slave-updates
主从都要进行此修改,注意二者服务器标识不同
##### 3.3 保存后重启数据库:
~]# /etc/init.d/mysql restart
Shutting down MySQL............ SUCCESS!
Starting MySQL.. SUCCESS!
##### 3.4 主库授权:
mysql> grant replication slave,reload,super on . to slave@'192.168.1.%' identified by '1234';
mysql> flush privileges;
##### 3.5 从库更改从属关系:
mysql> change master to
-> master_host="192.168.1.250",
-> master_port=3306,
-> master_user="slave",
-> master_password="1234",
-> master_auto_position=1;
mysql> start slave; ##从库启动slave
mysql> show slave status G;
Slave_IO_Running: Yes
Slave_SQL_Running: Yes -> 主从配置成功
如果是克隆方式需要注意修改/usr/local/mysql/data/auto.cnf 中的uuid

4. 测试:
主库建表并插入数据:
    mysql> create table t2(id int);
        Query OK, 0 rows affected (0.03 sec)
    mysql> insert into t1 values (1);
        Query OK, 1 row affected (0.01 sec)
从库可以查询到:





原文地址:https://www.cnblogs.com/plutozzl/p/13099065.html