mysql主从服务配置

主从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;

相关推荐
mounter62512 分钟前
从内存隔离到运行时防线:透视 Linux 内核安全强化的博弈与演进
linux·网络·安全·linux kernel·kernel
微道道1 小时前
Linux盒子局域网内使用 .local 域名访问,告别IP变化烦恼
linux·运维·服务器·hermes
Bug退散师2 小时前
多路IO复用[select版TCP服务器与poll版TCP服务器]与常用网络编程函数详解
linux·服务器·c语言·网络·驱动开发·tcp/ip
xiaoye-duck2 小时前
《Linux系统编程》Linux 系统多线程(一):线程概念(从虚拟地址空间与分页机制到优缺点解析)
linux·线程
国服第二切图仔2 小时前
05-构建与特性开关
linux·服务器·ubuntu
摸鱼号20232 小时前
在 Rocky Linux 10.1 Minimal 上安装 MySQL 9.7 的血泪史:MariaDB 到底有多“根深蒂固”?
mysql
FREEDOM_X3 小时前
嵌入式——定时器工作原理
linux·c语言·单片机·嵌入式硬件·ubuntu
Thecozzy3 小时前
Skill和MCP和Subagent 的选择
linux·人工智能·ubuntu
硬核子牙4 小时前
代码展示大模型的智能
linux·chatgpt·agent
风曦Kisaki4 小时前
# Linux 系统资源查看命令总结(附命令快查表)
linux·运维·服务器