青岛实训 8月21号 day33

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 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 [email protected]:/usr/local/mysql/ \[root@msater_5 \~\]# rsync -av /usr/local/mysql/data [email protected]:/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数据库设置为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 \

相关推荐
光而不耀@lgy1 小时前
C++初登门槛
linux·开发语言·网络·c++·后端
joker_zsl1 小时前
docker的安装和简单使用(ubuntu环境)
运维·docker·容器
偶尔微微一笑1 小时前
AI网络渗透kali应用(gptshell)
linux·人工智能·python·自然语言处理·编辑器
Run1.1 小时前
深入解析 Linux 中动静态库的加载机制:从原理到实践
linux·运维·服务器
VI8664956I261 小时前
全链路自动化AIGC内容工厂:构建企业级智能内容生产系统
运维·自动化·aigc
The Mr.Nobody1 小时前
STM32MPU开发之旅:从零开始构建嵌入式Linux镜像
linux·stm32·嵌入式硬件
老兵发新帖2 小时前
Ubuntu 上安装 Conda
linux·ubuntu·conda
秋秋秋秋秋雨2 小时前
linux安装单节点Elasticsearch(es),安装可视化工具kibana
linux·elasticsearch·jenkins
码农hbk2 小时前
linux ptrace 图文详解(七) gdb、strace跟踪系统调用
linux·服务器
264玫瑰资源库3 小时前
斗鱼娱乐电玩平台源码搭建实录
运维·服务器·游戏·娱乐