mysql主从服务配置

news/2025/1/15 17:15:52/

主从MySQL服务器
[root@localhost ~]# yum -y install ntpdate
[root@localhost ~]# ntpdate cn.ntp.org.cn
[root@localhost ~]# yum -y install rsync
[root@localhost ~]# vim mysql.sh 
#!/bin/bash
yum list installed |grep libaio
if [ $? ne 0 ]; then
    yum -y install libaio
fi
echo libaio yes
rm -rf /etc/my.cnf
echo remo my.cnf yes

tar -xf mysql-8.0.33-linux-glibc2.12-x86_64.tar.xz
echo tar zx yes

cp -r ~/mysql-8.0.33-linux-glibc2.12-x86_64 /usr/local/mysql
echo copy file to /usr/local/mysql   yes

mkdir /usr/local/mysql/mysql-files
echo mysql-files yes

grep mysql /etc/passwd

    useradd -r -s /sbin/nologin mysql

chown mysql:mysql /usr/local/mysql/mysql-files
chmod 750 /usr/local/mysql/mysql-files

/usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql/

/usr/local/mysql/bin/mysql_ssl_rsa_setup --datadir=/usr/local/mysql/data

cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql8

sed -i '$aexport PATH=/usr/local/mysql/bin:$PATH' /etc/profile
source /etc/profile
[root@localhost ~]# bash mysql.sh 
9,Rg+?q3jxlc
[root@localhost ~]# service mysql8 start
[root@localhost ~]# vim /usr/local/mysql/my.cnf
[mysqld]
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
socket=/tmp/mysql.sock
port=3306
log-error=/usr/local/mysql/data/db01-master.err
log-bin=/usr/local/mysql/data/binlog
server-id=10
character_set_server=utf8mb4
[root@localhost ~]# service mysql8 start
Starting MySQL.Logging to '/usr/local/mysql/data/db01-master.err'.
 SUCCESS! 
[root@localhost ~]# chkconfig --add mysql8 //开机自启
[root@localhost ~]# chkconfig mysql8 on //同上
[root@localhost ~]# chkconfig --list //同上
[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# setenforce 0
从服务器配置
[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# setenforce 0
[root@localhost ~]# vim mysql.sh //注释
#/usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql/

#/usr/local/mysql/bin/mysql_ssl_rsa_setup --datadir=/usr/local/mysql/data
[root@localhost ~]# source mysql.sh 
[root@localhost ~]# vim /usr/local/mysql/my.cnf
[mysqld]
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
socket=/tmp/mysql.sock
port=3310
log-error=/usr/local/mysql/data/db01-slave.err
relay-log=/usr/local/mysql/data/relaylog
server-id=11
character_set_server=utf8mb4
[root@localhost ~]# service mysql8 stop //停止主服务器
[root@localhost ~]# rm -rf /usr/local/mysql/data/auto.cnf //防止主从失败
[root@localhost ~]# yum list installed | grep rsync //检查rsync是否安装
[root@localhost ~]# rsync -av /usr/local/mysql/data root@192.168.1.32:/usr/local/mysql/
[root@localhost ~]# service mysql8 start //主从服务器启动服务
[root@localhost ~]# mysql -P3310 -p9,Rg+?q3jxlc //从服务器使用主服务器账户密码可以登录
[root@localhost ~]# cd /usr/local/mysql/
[root@localhost mysql]# ./bin/mysql_secure_installation //无法修改密码所需操作
Please enter 0 = LOW, 1 = MEDIUM and 2 = STRONG: 0
[root@localhost mysql]# ./bin/mysql -p9,Rg+?q3jxlc
mysql> show variables like 'validate%';
mysql>  set global validate_password.length=0; //修改密码所需操作
mysql> show variables like 'validate%';
mysql> create user 'zhangmin'@'%' identified by 'abc_123';
mysql> grant replication slave on *.* to 'zhangmin'@'%';
mysql> flush tables with read lock;
mysql> change master to
    -> master_host='192.168.1.31',
    -> master_user='zhangmin',
    -> master_password='abc_123',
    -> master_port=3306,
    -> master_log_file='binlog.000003',
    -> master_log_pos=707;
从服务器
change master to master_host='192.168.1.31',  
master_user='zhangmin', 
master_password='abc_123', 
master_port=3306, 
master_log_file='binlog.000004', 
master_log_pos=1092;
mysql> start slave;
mysql> show slave status\G
[root@localhost mysql]# mysql -uzhangmin -pabc_123 -h 192.168.1.31 -P3306 --get-server-public-key //获得远程master主机的公钥
[root@localhost mysql]# mysql -P3310 -p
mysql> stop slave;
mysql> reset slave;
mysql> change master to master_host='192.168.1.31',  
    -> master_user='zhangmin', 
    -> master_password='abc_123', 
    -> master_port=3306, 
    -> master_log_file='binlog.000004', 
    -> master_log_pos=1092;
mysql> start slave;
主服务器
mysql> unlock tables; //解锁⽂件
mysql> create database if not exists test charset utf8mb4;


http://www.ppmy.cn/news/1508641.html

相关文章

Forcepoint 网络安全解决方案

Forcepoint 作为全球领先的网络安全解决方案提供商,自 1994 年成立以来,便一直致力于为企业和政府机构提供最前沿、最有效的安全技术,以全力守护其最为珍贵的资产和数据。公司总部坐落于美国得克萨斯州奥斯汀市,凭借其卓越的技术实…

Java 多线程练习 (2024.8.12)

MultiProcessingExercise1 package MultiProcessingExercise20240812;public class MultiProcessingExercise1 {public static void main(String[] args) {// 设置、获取线程名称// 如果使用继承Thread类的方式实现多线程,那么可以直接通过set和get方法进行设置和获…

Oracle ACE是什么缩写?

大家都知道,Oracle有个ACE 计划,旨在奖励和表彰个人对 Oracle 社区做出的贡献。 这些贡献主要包括两方面: 知识与经验分享,如撰写博客、书籍和文章;制作视频教程;为开源项目做贡献;编写代码&a…

10分钟学会Docker的安装和使用

Docker 是一个用于开发、发布和运行应用程序的开源平台。它通过提供轻量级的容器技术,使得应用程序可以在任何环境中一致地运行。以下是快速学会Docker的安装和使用的步骤。 1. 安装Docker 在Windows上安装 下载Docker Desktop: 访问Docker官网下载适用…

Java->双击Window批处理程序动态切换Java版本

JDK8 echo off chcp 65001 >nul :: 设置控制台编码为UTF-8,避免中文乱码:: 检查是否以管理员身份运行 openfiles >nul 2>&1 if %errorlevel% neq 0 (echo 请求管理员权限...powershell -Command "Start-Process cmd -ArgumentList /c %~fnx0 -Ve…

13.1 Python 正则表达式基础

欢迎来到我的博客,很高兴能够在这里和您见面!欢迎订阅相关专栏: 工💗重💗hao💗:野老杂谈 ⭐️ 全网最全IT互联网公司面试宝典:收集整理全网各大IT互联网公司技术、项目、HR面试真题.…

苹果发布 AirPods Pro 2 测试版固件 搭配iOS 18新特性

苹果今天发布了AirPods Pro 2 的第三个测试版固件,包括 Lightning 和 USB-C 两个版本。更新后的固件版本号为 7A5266c,高于 7A5244b,目前可供开发者使用。这是苹果公司自 6 月份宣布 AirPods Pro 2 新功能以来发布的第三个固件更新。 作为iOS…

git拉取后,代码不见了,没有冲突覆盖,且,没有删除,看我是怎么找回的

git拉取后,代码不见了,没有冲突覆盖,且,没有删除 重点提醒 当你的代码丢失时,不要惊慌,首先尝试使用本地的历史记录和远程仓库来找回代码。如果这些方法不起作用,你可以考虑其他的救援工具或寻…