当前位置:   article > 正文

MySQL 5.7 主从集群搭建_mysql5.7主从搭建

mysql5.7主从搭建
IP功能Linux版本
192.168.56.136MasterCentOS 7.9
192.168.56.140SlaveCentOS 7.9

一、安装前的准备

1、卸载老版本

(1)查看是否安装mariadb(centos7默认安装)

命令: rpm -qa | grep mariadb

(2)卸载mariadb

命令:rpm -e mariadb-libs-5.5.68-1.el7.x86_64 --nodeps

2、安装依赖

命令:yum -y install perl perl-devel

二、安装MySQL(RPM包安装)

1、下载安装包

2、解压安装包

3、按如下顺序安装rpm包

  1. rpm -ivh mysql-community-common-5.7.23-1.el7.x86_64.rpm 
  2. rpm -ivh mysql-community-libs-5.7.23-1.el7.x86_64.rpm 
  3. rpm -ivh mysql-community-client-5.7.23-1.el7.x86_64.rpm 
  4. rpm -ivh mysql-community-server-5.7.23-1.el7.x86_64.rpm

4、启动服务

命令:systemctl restart mysqld

5、修改密码并授权

(1)通过日志查找到初始密码

命令:grep 'password' /var/log/mysql.log

(2)登录MySQL

mysql -u root -p(回车后输入刚查找到的密码)

(3)重新设置密码

set password=password('new_password')        # 不设置无法执行其它指令

(4)授权root用户

  1. # 授予所有主机通过root用户和密码访问数据库所有表所有权限
  2. grant all on *.* to root@'%' identified by 'new_password';
  3. # 刷新权限
  4. flush privileges;

三、配置主从

1、修改配置文件my.cnf

(1)主服务器配置

  1. # 新增如下配置
  2. server-id=1 # mysql实例唯一标识符
  3. log-bin=master-log # 二进制日志文件名和路径

(2)从服务器配置

  1. # 新增如下配置
  2. server-id=2

(3)重启服务

2、创建同步账号(主数据库执行)

  1. # 1、登录mysql
  2. mysql -u root -p
  3. # 2、进入mysql数据库
  4. use mysql
  5. # 3、创建同步用户
  6. create user master@'从数据库IP' identified with mysql_native_password by 'master_pass';
  7. # 4、授权
  8. grant replication slave on *.* to master@'从数据库IP' identified by 'master_pass';
  9. # 5、刷新
  10. flush privileges;
  11. # 6、查看master状态
  12. show master status;
  13. +------------------+----------+--------------+------------------+-------------------+
  14. | File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
  15. +------------------+----------+--------------+------------------+-------------------+
  16. | master-log.000001| 1 | | | |
  17. +------------------+----------+--------------+------------------+-------------------+

3、开启同步(从服务器执行)

  1. # 1、停止同步
  2. stop slave;
  3. # 2、配置从服务器连接主服务器的配置项
  4. change master to master_host='主服务器IP',master_user='master',master_password='master_pass',master_log_file='bin-log文件名',master_log_pos=position;
  5. # 3、开启同步
  6. start slave;
  7. # 4、刷新
  8. flush privileges;
  9. # 5、查看同步状态
  10. show slave status\G;

四、检测

1、主服务器执行

  1. # 创建数据库
  2. mysql> create database test;
  3. Query OK, 1 row affected (0.00 sec)
  4. mysql> show databases;
  5. +--------------------+
  6. | Database |
  7. +--------------------+
  8. | information_schema |
  9. | mysql |
  10. | performance_schema |
  11. | sys |
  12. | test |
  13. +--------------------+
  14. 5 rows in set (0.00 sec)
  15. mysql> use test;
  16. Database changed
  17. mysql> create table ceshi (id int auto_increment primary key, name varchar(50) not null, age int);
  18. Query OK, 0 rows affected (0.03 sec)

2、从服务器查看

  1. mysql> show databases;
  2. +--------------------+
  3. | Database |
  4. +--------------------+
  5. | information_schema |
  6. | mysql |
  7. | performance_schema |
  8. | sys |
  9. | test |
  10. +--------------------+
  11. 5 rows in set (0.00 sec)
  12. mysql> use test;
  13. Reading table information for completion of table and column names
  14. You can turn off this feature to get a quicker startup with -A
  15. Database changed
  16. mysql> show tables;
  17. +----------------+
  18. | Tables_in_test |
  19. +----------------+
  20. | ceshi |
  21. +----------------+
  22. 1 row in set (0.00 sec)
  23. mysql> desc ceshi;
  24. +-------+-------------+------+-----+---------+----------------+
  25. | Field | Type | Null | Key | Default | Extra |
  26. +-------+-------------+------+-----+---------+----------------+
  27. | id | int(11) | NO | PRI | NULL | auto_increment |
  28. | name | varchar(50) | NO | | NULL | |
  29. | age | int(11) | YES | | NULL | |
  30. +-------+-------------+------+-----+---------+----------------+
  31. 3 rows in set (0.00 sec)

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家小花儿/article/detail/1008818
推荐阅读
相关标签
  

闽ICP备14008679号