青岛实训 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 \

相关推荐
lilye6636 分钟前
程序化广告行业(55/89):DMP与DSP对接及数据统计原理剖析
java·服务器·前端
SKYDROID云卓小助手2 小时前
三轴云台之相机技术篇
运维·服务器·网络·数码相机·音视频
东方佑2 小时前
自动调整PPT文本框内容:防止溢出并智能截断文本
linux·运维·powerpoint
zhougl9963 小时前
html处理Base文件流
linux·前端·html
泥土编程4 小时前
kubekey -实现懒人一键部署K8S集群
linux·运维
wirepuller_king7 小时前
创建Linux虚拟环境并远程连接,finalshell自定义壁纸
linux·运维·服务器
Yan-英杰7 小时前
【百日精通JAVA | SQL篇 | 第二篇】数据库操作
服务器·数据库·sql
在野靡生.7 小时前
Ansible(1)—— Ansible 概述
linux·运维·ansible
风123456789~7 小时前
【Linux运维】查询指定日期的上月
linux·运维·服务器
zyk_5207 小时前
Docker desktop如何汉化
运维·docker·容器