8.22

1.设置主从从mysql57服务器

1)配置主数据库

root@msater_5 \~\]# systemctl stop filewalld \[root@msater_5 \~\]# setenforce 0 \[root@msater_5 \~\]# systemctl disable filewalld \[root@msater_5 \~\]# ls anaconda-ks.cfg mysql-5.7.44-linux-glibc2.12-x86_64.tar.gz \[root@msater_5 \~\]# tar -xf mysql-5.7.44-linux-glibc2.12-x86_64.tar.gz \[root@msater_5 \~\]# cp -r mysql-5.7.44-linux-glibc2.12-x86_64 /usr/local/mysql \[root@msater_5 \~\]# rm -rf /etc/my.cnf \[root@msater_5 \~\]# mkdir /usr/local/mysql/mysql-files \[root@msater_5 \~\]# useradd -r -s /sbin/nologin mysql \[root@msater_5 \~\]# [chown](https://so.csdn.net/so/search?q=chown&spm=1001.2101.3001.7020 "chown") mysql:mysql /usr/local/mysql/mysql-files \[root@msater_5 \~\]# chown 750 /usr/local/mysql/mysql-files \[root@msater_5 \~\]# /usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql 2024-08-21T09:39:16.036321Z 0 \[Warning\] CA certi2024-08-21T09:39:16.384066Z 1 \[Note\] A temporary password is generated for root@localhost: RV3DtuxCi;A- \[root@msater_5 \~\]# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql57 \[root@msater_5 \~\]# 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@msater_5 \~\]# service mysql57 start \[root@msater_5 \~\]# /usr/local/mysql/bin/mysql -p Enter password: mysql\> alter user 'root'@'localhost' identified by 'root'; Query OK, 0 rows affected (0.00 sec) mysql\> create user 'li'@'%' identified by 'li'; Query OK, 0 rows affected (0.00 sec) mysql\> grant all on \*.\* to 'li'@'%'; uery OK, 0 rows affected (0.01 sec) mysql\> flush privileges; Query OK, 0 rows affected (0.01 sec) mysql\> create user 'slave'@'%' identified by 'slave'; Query OK, 0 rows affected (0.00 sec) mysql\> grant replication slave on \*.\* to 'slave'@'%'; Query OK, 0 rows affected (0.00 sec) mysql\> flush privileges; Query OK, 0 rows affected (0.00 sec) 2)配置slave01数据库 \[root@slave01_5 \~\]# ls anaconda-ks.cfg mysql-5.7.44-linux-glibc2.12-x86_64.tar.gz \[root@slave01_5 \~\]# systemctl stop firewalld \[root@slave01_5 \~\]# systemctl disable firewalld \[root@slave01_5 \~\]# setenforce 0 \[root@slave01_5 \~\]# tar -xf mysql-5.7.44-linux-glibc2.12-x86_64.tar.gz \[root@slave01_5 \~\]# cp -r mysql-5.7.44-linux-glibc2.12-x86_64 /usr/local/mysql \[root@slave01_5 \~\]# rm -rf /etc/my.cnf \[root@slave01_5 \~\]# mkdir /usr/local/mysql/mysql-files \[root@slave01_5 \~\]# useradd -r -s /sbin/nologin mysql \[root@slave01_5 \~\]# chown mysql:mysql /usr/local/mysql/mysql-files/ \[root@slave01_5 \~\]# chown 750 /usr/local/mysql/mysql-files/ \[root@slave01_5 \~\]# yum -y install rsync 3)配置slave02数据库 \[root@slave01_5 \~\]# ls anaconda-ks.cfg mysql-5.7.44-linux-glibc2.12-x86_64.tar.gz \[root@slave01_5 \~\]# systemctl stop firewalld \[root@slave01_5 \~\]# systemctl disable firewalld \[root@slave01_5 \~\]# setenforce 0 \[root@slave01_5 \~\]# tar -xf mysql-5.7.44-linux-glibc2.12-x86_64.tar.gz \[root@slave01_5 \~\]# cp -r mysql-5.7.44-linux-glibc2.12-x86_64 /usr/local/mysql \[root@slave01_5 \~\]# rm -rf /etc/my.cnf \[root@slave01_5 \~\]# mkdir /usr/local/mysql/mysql-files \[root@slave01_5 \~\]# useradd -r -s /sbin/nologin mysql \[root@slave01_5 \~\]# chown mysql:mysql /usr/local/mysql/mysql-files/ \[root@slave01_5 \~\]# chown 750 /usr/local/mysql/mysql-files/ \[root@slave01_5 \~\]# yum -y install rsync 4)同步data \[root@msater_5 \~\]# service mysql57 stop \[root@msater_5 \~\]# rm -rf /usr/local/mysql/data/auto.cnf \[root@msater_5 \~\]# yum -y install rsync \[root@msater_5 \~\]# rsync -av /usr/local/mysql/data root@192.168.2.58:/usr/local/mysql/ \[root@msater_5 \~\]# rsync -av /usr/local/mysql/data root@192.168.2.59:/usr/local/mysql/ 5)修改slave01配置文件 \[root@slave01_5 \~\]# ls /usr/local/mysql/ bin docs lib man README support-files data include LICENSE mysql-files share \[root@slave01_5 \~\]# 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/err.log

relay-log=/usr/local/mysql/data/relaylog

character_set_server=utf8mb4

server-id=11

root@slave01_5 \~\]# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql57 \[root@slave01_5 \~\]# sed -i '$aexport PATH=$PATH:/usr/local/mysql/bin' /etc/profile \[root@slave01_5 \~\]# source /etc/profile 6)修改slave02配置文件 \[root@slave01_5 \~\]# ls /usr/local/mysql/ bin docs lib man README support-files data include LICENSE mysql-files share \[root@slave01_5 \~\]# 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/err.log

relay-log=/usr/local/mysql/data/relaylog

character_set_server=utf8mb4

server-id=12

root@slave01_5 \~\]# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql57 \[root@slave01_5 \~\]# sed -i '$aexport PATH=$PATH:/usr/local/mysql/bin' /etc/profile \[root@slave01_5 \~\]# source /etc/profile 7)主服务器锁表 \[root@msater_5 \~\]# mysql -proot mysql\> select user,host from mysql.user; +---------------+-----------+ \| user \| host \| +---------------+-----------+ \| slave \| % \| \| li \| % \| \| mysql.session \| localhost \| \| mysql.sys \| localhost \| \| root \| localhost \| +---------------+-----------+ 5 rows in set (0.00 sec) mysql\> flush tables with read lock; Query OK, 0 rows affected (0.00 sec) mysql\> show master status; +---------------+----------+--------------+------------------+-------------------+ \| File \| Position \| Binlog_Do_DB \| Binlog_Ignore_DB \| Executed_Gtid_Set \| +---------------+----------+--------------+------------------+-------------------+ \| binlog.000002 \| 154 \| \| \| \| +---------------+----------+--------------+------------------+-------------------+ 1 row in set (0.00 sec) 8)配置主从服务 \[root@slave01_5 \~\]# mysql -uroot -proot mysql\> change master to master_host="10.0.0.57",master_user="slave",master_password="slave",master_log_file="binlog.000002",master_log_pos=154; Query OK, 0 rows affected, 2 warnings (0.01 sec) mysql\> start slave; Query OK, 0 rows affected (0.01 sec) mysql\> show slave status\\G; \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\* 1. row \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\* Slave_IO_State: Waiting for master to send event Master_Host: 192.168.2.57 Master_User: slave Master_Port: 3306 Connect_Retry: 60 Master_Log_File: binlog.000002 Read_Master_Log_Pos: 154 Relay_Log_File: relaylog.000002 Relay_Log_Pos: 317 Relay_Master_Log_File: binlog.000002 Slave_IO_Running: Yes Slave_SQL_Running: Yes 9)配置主从从服务 \[root@slave01_5 \~\]# mysql -uroot -proot mysql\> change master to master_host="10.0.0.57",master_user="slave",master_password="slave",master_log_file="binlog.000002",master_log_pos=154; Query OK, 0 rows affected, 2 warnings (0.01 sec) mysql\> start slave; Query OK, 0 rows affected (0.01 sec) mysql\> show slave status\\G; \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\* 1. row \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\* Slave_IO_State: Waiting for master to send event Master_Host: 192.168.2.57 Master_User: slave Master_Port: 3306 Connect_Retry: 60 Master_Log_File: binlog.000002 Read_Master_Log_Pos: 154 Relay_Log_File: relaylog.000002 Relay_Log_Pos: 317 Relay_Master_Log_File: binlog.000002 Slave_IO_Running: Yes Slave_SQL_Running: Yes 2.在mysql中添加eleme[数据库设置](https://so.csdn.net/so/search?q=%E6%95%B0%E6%8D%AE%E5%BA%93%E8%AE%BE%E7%BD%AE&spm=1001.2101.3001.7020 "数据库设置")为utf8mb4 \[root@msater_5 \~\]# mysql -proot mysql\> unlock tables; Query OK, 0 rows affected (0.00 sec) mysql\> create database if not exists eleme charset utf8mb4; Query OK, 1 row affected (0.00 sec) mysql\> show databases; +--------------------+ \| Database \| +--------------------+ \| information_schema \| \| eleme \| \| mysql \| \| performance_schema \| \| sys \| \| test \| +--------------------+ 6 rows in set (0.00 sec) 3.添加表t_user(master) mysql\> use eleme; Database changed mysql\> create table t_user( -\> id int primary key auto_increment, -\> name varchar(45) not null, -\> username varchar(45) not null, -\> password varchar(45) not null, -\> remark varchar(45) -\> ); Query OK, 0 rows affected (0.01 sec) mysql\> show tables; +-----------------+ \| Tables_in_eleme \| +-----------------+ \| t_user \| +-----------------+ 1 row in set (0.00 sec) 4.添加2行记录(master) mysql\> insert into eleme.t_user values(1,'超级管理员','admin','admin','超级管理员'),(2,'普通用户','guest','guest','普通用户'); Query OK, 2 rows affected (0.00 sec) Records: 2 Duplicates: 0 Warnings: 0 mysql\> select \* from eleme.t_user; +----+-----------------+----------+----------+-----------------+ \| id \| name \| username \| password \| remark \| +----+-----------------+----------+----------+-----------------+ \| 1 \| 超级管理员 \| admin \| admin \| 超级管理员 \| \| 2 \| 普通用户 \| guest \| guest \| 普通用户 \| +----+-----------------+----------+----------+-----------------+ 2 rows in set (0.00 sec) 5.使用mycat为三台数据库设置负载均衡(读写分离) 1)前期jdk环境部署 \[root@mycat \~\]# systemctl stop firewalld \[root@mycat \~\]# systemctl disable firewalld \[root@mycat \~\]# ls anaconda-ks.cfg Mycat-server-1.6.5-release-20180122220033-linux.tar.gz jdk-8u192-linux-x64.tar.gz v \[root@mycat \~\]# tar -xf jdk-8u192-linux-x64.tar.gz \[root@mycat \~\]# tar -xf Mycat-server-1.6.5-release-20180122220033-linux.tar.gz \[root@mycat \~\]# cp -r jdk1.8.0_192/ /usr/local/jdk \[root@mycat \~\]# cp -r mycat/ /usr/local/ \[root@mycat \~\]# ls /usr/local/jdk/ bin lib src.zip COPYRIGHT LICENSE THIRDPARTYLICENSEREADME-JAVAFX.txt include man THIRDPARTYLICENSEREADME.txt javafx-src.zip README.html jre release \[root@mycat \~\]# sed -i '$aexport JAVA_HOME=/usr/local/jdk' /etc/profile \[root@mycat \~\]# source /etc/profile \[root@mycat \~\]# $JAVA_HOME -bash: /usr/local/jdk: 是一个目录 \[root@mycat \~\]# sed -i '$aexport PATH=$PATH:$JAVA_HOME/bin' /etc/profile \[root@mycat \~\]# source /etc/profile \[root@mycat \~\]# $PATH -bash: /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/usr/local/jdk/bin: 没有那个文件或目录 \[root@mycat \~\]# javac -version javac 1.8.0_192 2)修改server.xml配置文件 \[root@mycat \~\]# vim /usr/local/mycat/conf/server.xml 93 \ 94 \li\ 95 \eleme\ # 注释 107 \

相关推荐
Kapaseker2 小时前
一杯美式搞懂 Any、Unit、Nothing
android·kotlin
黄林晴2 小时前
你的 Android App 还没接 AI?Gemini API 接入全攻略
android
恋猫de小郭12 小时前
2026 Flutter VS React Native ,同时在 AI 时代 VS Native 开发,你没见过的版本
android·前端·flutter
冬奇Lab13 小时前
PowerManagerService(上):电源状态与WakeLock管理
android·源码阅读
BoomHe18 小时前
Now in Android 架构模式全面分析
android·android jetpack
二流小码农1 天前
鸿蒙开发:上传一张参考图片便可实现页面功能
android·ios·harmonyos
鹏程十八少1 天前
4.Android 30分钟手写一个简单版shadow, 从零理解shadow插件化零反射插件化原理
android·前端·面试
Kapaseker1 天前
一杯美式搞定 Kotlin 空安全
android·kotlin
三少爷的鞋1 天前
Android 协程时代,Handler 应该退休了吗?
android
火柴就是我2 天前
让我们实现一个更好看的内部阴影按钮
android·flutter