环境:CentOS7+MySQL8
hostname | ip | 角色 |
---|---|---|
c7-lab1 | 10.10.104.51 | 主 |
c7-lab2 | 10.10.104.52 | 从 |
一、安装MySQL数据库
1.1、下载mysql8,下载rpm bundle包上传到centos系统上。官网 https://dev.mysql.com/downloads/mysql
或者使用wget命令+链接直接下载
wget https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-8.0.33-1.el7.x86_64.rpm-bundle.tar
1.2、解压bundle包
tar xvf mysql-8.0.33-1.el7.x86_64.rpm-bundle.tar
1.3、卸载mariadb
rpm -qa | grep mariadb
rpm -e --nodeps mariadb-libs-*
1.4、安装MySQL
安按照下面图片的顺序安装MySQL的rpm包
rpm -ivh mysql-community-common-8.0.33-1.el7.x86_64.rpm mysql-community-client-plugins-8.0.33-1.el7.x86_64.rpm mysql-community-libs-8.0.33-1.el7.x86_64.rpm mysql-community-client-8.0.33-1.el7.x86_64.rpm mysql-community-icu-data-files-8.0.33-1.el7.x86_64.rpm mysql-community-server-8.0.33-1.el7.x86_64.rpm
1.5、初始化MySQL并启动
#初始化
mysqld --initialize --console
#授权mysql用户
chown -R mysql:mysql /var/lib/mysql/
启动服务
systemctl start mysqld
systemctl enable mysqld
#查看初始化密码
cat /var/log/mysqld.log | grep localhost
1.6、登录MySQL和配置用户
mysql -u root -p #带上初始化的密码
修改密码,开启远程
#修改登录密码
ALTER USER 'root'@'localhost' IDENTIFIED BY 'Csdn@123';
#切换到mysql数据库
use mysql;.
#开启数据库远程管理
update user set Host='%' where User='root';
flush privileges;
二、主从配置
2.1、确保你已经安装了MySQL 8.0并且两个服务器(主服务器和从服务器)都已经正常运行。
2.2、在主服务器(c7-lab1)上修改配置文件(my.cnf或my.ini)新增下面参数:
cat >> /etc/my.cnf <<EOF
#服务器 id,随意,但要唯一
server-id = 1
#二进制文件存放路径
log-bin = mysql-bin
#参数用于排除自带的数据库。
binlog-ignore-db = mysql
binlog-ignore-db = information_schema
binlog-ignore-db = performance_schema
#二进制日志格式,建议使用ROW格式以获得更好的兼容性和可靠性。
binlog-format = ROW
EOF
重启从服务以使配置更改生效。
systemctl restart mysqld
2.3、在主服务器的数据库中创建用于复制的账户并授予相应的权限。例如,可以使用以下命令创建账户:
#登录MySQL
mysql -uroot -pCsdn@123
use mysql;
#创建用户
CREATE USER 'db_sync'@'%' IDENTIFIED BY 'Csdn@123';
#授权账号复制权限
GRANT REPLICATION SLAVE ON *.* TO 'db_sync'@'%';
#刷新配置
FLUSH PRIVILEGES;
2.4、在主服务器上执行以下命令获取当前二进制日志文件的名称和位置:
SHOW MASTER STATUS;
记下输出中的 File 和 Position 值,后续在从服务器上使用。
2.5、在从服务器(c7-lab2)上修改配置文件(my.cnf或my.ini),找到并编辑以下参数:
cat >>/etc/my.cnf <<EOF
server-id = 2
#中继日志文件的名称,用于从主服务器接收二进制日志事件。
relay-log = mysql-relay-bin
#从服务器的二进制日志文件的名称。
log_bin = mysql-bin
#不同步相关的库
replicate-ignore-db = mysql
replicate-ignore-db = information_schema
replicate-ignore-db = performance_schema
EOF
重启MySQL服务
systemctl restart mysqld
2.6、登录从服务器(c7-lab2)MySQL上更据主服务器建立的账号和show master status;显示的内容,修改以下命令配置主从复制:(根据第2.4上的内容修改)
STOP SLAVE;
CHANGE MASTER TO
MASTER_HOST = '10.10.104.51',
MASTER_USER = 'db_sync',
MASTER_PASSWORD = 'Csdn@123',
#主服务器数据库上的file值(不能有空格)
MASTER_LOG_FILE = 'mysql-bin.000001',
#主服务器数据库的Position值
MASTER_LOG_POS = 157,
get_master_public_key=1;
2.7、在在从服务器启动同步并查看状态
#开启同步
start slave;
查看同步状态文章来源:https://www.toymoban.com/news/detail-794974.html
SHOW SLAVE STATUS\G;
检查输出中的 Slave_IO_Running 和 Slave_SQL_Running 字段,确保两个字段的值都是 Yes,表示主从复制已经成功配置。文章来源地址https://www.toymoban.com/news/detail-794974.html
到了这里,关于MySQL8.0主从部署配置详细步骤的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!