mysql8.0主从集群部署
1、环境准备
|
序号 |
主机ip |
用途 |
|
1 |
192.168.52.15 |
MySQL主库 |
|
2 |
192.168.52.16 |
MySQL从库 |
2、下载安装包
wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.42-linux-glibc2.17-x86_64.tar.xz
tar -xf mysql-8.0.42-linux-glibc2.17-x86_64.tar.xz
mv mysql-8.0.42-linux-glibc2.17-x86_64 /usr/local/mysql
3、创建Mysql用户
groupadd mysql
useradd -r -g mysql -s /bin/false mysql
mkdir -p /data/mysql/{data,log}
chown -R mysql:mysql /data/mysql/{data,log}
chmod 750 /data/mysql/{data,log}
4、修改MySQL配置文件
192.168.52.15配置:
cat > /etc/my.cnf <<EOF[mysqld]server-id=15bind-address = 0.0.0.0port = 3306user=mysqldatadir=/data/mysql/datasocket=/tmp/mysql.socklog-error=/data/mysql/log/mysql-error.logslow_query_log=1slow_query_log_file=/data/mysql/log/mysql-slow.loglong_query_time=10log-bin=/data/mysql/log/mysql-bin.logexpire_logs_days=7pid-file=/data/mysql/data/mysql.pid[client]socket=/tmp/mysql.sockEOF
192.168.52.16配置:
cat > /etc/my.cnf <<EOF[mysqld]server-id=16bind-address = 0.0.0.0port = 3306user=mysqldatadir=/data/mysql/datasocket=/tmp/mysql.socklog-error=/data/mysql/log/mysql-error.logslow_query_log=1slow_query_log_file=/data/mysql/log/mysql-slow.loglong_query_time=10log-bin=/data/mysql/log/mysql-bin.logexpire_logs_days=7pid-file=/data/mysql/data/mysql.pid[client]socket=/tmp/mysql.sockEOF
5、初始化mysql
cd /usr/local/mysql/
./bin/mysqld --initialize --user=mysql --datadir=/data/mysql/data
./bin/mysql_ssl_rsa_setup --datadir=/data/mysql/data
grep 'temporary password' /data/mysql/log/mysql-error.log
6、配置mysql服务
cat > /etc/systemd/system/mysqld.service <<EOF[Unit]Description=MySQL ServerAfter=network.target[Service]User=mysqlGroup=mysqlExecStart=/usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnfExecReload=/bin/kill -HUP $MAINPIDRestart=on-failureRestartSec=5s[Install]WantedBy=multi-user.targetEOF
7、MySQL启动服务
systemctl daemon-reload
systemctl start mysqld
systemctl enable mysqld
systemctl status mysqld
8、配置mysql环境变量
echo 'export PATH=/usr/local/mysql/bin:$PATH' >> ~/.bashrc
source ~/.bashrc
mysql --version
9、修改mysql密码
mysql -uroot -p%ofbIRCiB4,d
ALTER USER 'root'@'localhost' IDENTIFIED BY 'Admin@123';
CREATE DATABASE IF NOT EXISTS mydb DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
CREATE USER 'root'@'%'IDENTIFIED BY 'Admin@123';
GRANT ALL PRIVILEGES ON mydb.* TO 'root'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;
10、创建复制用户
mysql -uroot -p'Admin@123'
CREATE USER 'repl'@'%' IDENTIFIED WITH mysql_native_password BY 'Admin@123';
GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%';
FLUSH PRIVILEGES;
11、配置从库连接主库
主库执行:
show master status;

从库执行:
stop slave;
change master to
master_host='192.168.52.15',
master_user='repl',
master_password='Admin@123',
master_log_file='mysql-bin.000003',
master_log_pos=157;
start slave;
show slave status\G;
更多推荐

所有评论(0)