Centos快速搭建mysql主从

其实我自己第一次搭建并没有所谓的快速,还是碰到很多问题

第一步:下载安装包

官网地址 https://dev.mysql.com/downloads/mysql/

进入这个地址后,目前因该是mysql8,我这里用的是5.7,因此点击右边查看之前版本

由于centos就是Redhat,所以选择Red Hat

 眼花缭乱,有很多包,我们的目的是提供mysql服务,最终目标是把server装起来,但是由于这些包安装存在依赖关系,所以你必须要把下面框框里面的全下载下来

 当然你可以把第一个bundle一套全下下来,解压下来,结果是一样的,只是有一些可能不会用到

 分别wget到你的服务器下

wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-community-server-5.7.28-1.el7.x86_64.rpm
wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-community-client-5.7.28-1.el7.x86_64.rpm
wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-community-common-5.7.28-1.el7.x86_64.rpm
wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-community-libs-5.7.28-1.el7.x86_64.rpm

第二步:安装mysql

简单介绍一下rpm

rpm -i example.rpm #安装 example.rpm 包;
rpm -iv example.rpm #安装 example.rpm 包并在安装过程中显示正在安装的文件信息;
rpm -ivh example.rpm #安装 example.rpm 包并在安装过程中显示正在安装的文件信息及安装进度

rpm -ivh mysql-community-common-5.7.28-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.28-1.el7.x86_64.rpm 
rpm -ivh mysql-community-client-5.7.28-1.el7.x86_64.rpm 
rpm -ivh mysql-community-server-5.7.28-1.el7.x86_64.rpm 

第三步:启动mysql并配置(master和slave分开讲解)

master:

启动前,先获取root用户临时密码

sudo grep 'temporary password' /var/log/mysqld.log

 配置一下

vi /etc/my.cnf
server-id=100
# mysql库不复制 binlog-ignore-db=mysql log-bin=/var/log/mysql-bin.log

 启动mysql:

service mysqld start

 这一步很容易报错,因为可能存在目录权限访问问题,可以关注一下启动日志tail -100f /var/log/mysqld.log,根据日志去做一下处理

服务正常启动后,登录mysql

mysql -h localhost -uroot -p

进入mysql后,先修改一下root用户密码

ALTER USER 'root'@'localhost' IDENTIFIED BY 'Password';

 然后创建一个slave用户,等下需要用到

CREATE USER 'slave'@'%' IDENTIFIED BY 'Password';
GRANT REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'slave'@'%';

记下master status,后面slave需要配置

show master status;

至此,master的处理完成

salve

启动前,先获取root用户临时密码

sudo grep 'temporary password' /var/log/mysqld.log

 配置一下

vi /etc/my.cnf
server-id=101
log-bin=/var/log/mysql-bin.log

启动mysql:

service mysqld start

服务正常启动后,登录mysql

mysql -h localhost -uroot -p

进入mysql后,先修改一下root用户密码

ALTER USER 'root'@'localhost' IDENTIFIED BY 'Password';

 配置与master的通信

stop slave;
change master to master_host='主库的ip',master_user='slave',master_password='slave用户的密码',master_log_file='刚才记下的master status mysql-bin.000001',master_log_pos=154;
start slave;
show slave statusG;

 在出现信息中找到Slave_IO_Running/Slave_SQL_Running,都为yes则成功

在这过程中遇到最大的问题就是mysql启动出现了目录权限的问题,解决方式就是对指定的目录进行chown -R mysql:mysql 目录


原文地址:https://www.cnblogs.com/turn2i/p/11806061.html