建设厅网站文件,ui设计网课一般多少钱,制作网站需要的技术,seo优化公司哪家好一.环境说明
【环境说明】#xff1a; 192.168.110.161 mysql-master ##网络配置到位#xff0c;防火墙关闭#xff0c;selinux关闭 192.168.110.162 mysql-slave ##网络配置到位#xff0c;防火墙关闭#xff0c;selinux关闭
两台主机#xff0c;操作系统是centos7…一.环境说明
【环境说明】 192.168.110.161 mysql-master ##网络配置到位防火墙关闭selinux关闭 192.168.110.162 mysql-slave ##网络配置到位防火墙关闭selinux关闭
两台主机操作系统是centos7提前网络配置好关闭防火墙selinux修改主机名
二.【YUM配置】
本次建议使用操作系统镜像做yum源具体方法如下 1.创建操作系统ISO镜像的挂载目录并挂载 mkdir /mnt/yllyum mount /dev/cdrom /mnt/zijian-yum 2.进入yum的目前做备份并创建自建的yum源的文件 cd /etc/yum.repos.d/ mkdir bak mv * bak #自建yum的文件 cat zijian-yum.repo EOF [base] nameCentOS-$releasever - Base baseurlfile:///mnt/zijian-yum enable1 gpgcheck0 gpgkeyfile:///mnt/zijian-yum/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 EOF yum clean all yum makecache 三.【mysql安装】
1.清理老的mysql 1卸载已有的mysql 查找以前是否装有mysql命令rpm -qa|grep -i mysql 停止mysql服务卸载之前安装的mysql: rpm -ev 包名 如果卸载过程中报依赖错误直接在卸载命名后面加参数 --nodeps rpm -ev 包名 --nodeps 2查找之前老版本mysql的文件并删除老版本mysql的文件 2.安装前的准备 安装mysql之前需要确保系统中有libaio依赖 yum search libaio yum install libaio - 3.下载mysql软件包
mkdir /u01/
cd /u01/
mkdir soft
cd soft
下载并上传文件mysql-8.0.33-linux-glibc2.12-x86_64.tar.xz到soft目录下
5.解压软件包
#解压
tar -xvf mysql-8.0.33-linux-glibc2.12-x86_64.tar.xz
#重命名文件夹
mv mysql-8.0.33-linux-glibc2.12-x86_64 ../mysql8
3、安装 1添加用户和组
#添加用户组
groupadd mysql
#添加用户mysql 到用户组mysql(使用-r参数表示mysql用户是一个系统用户不能登录) --已有不操作
useradd -r -g mysql mysql#添加完用下面命令测试,能看到mysql用户的信息
id mysql
2手动创建MySQL data目录
cd /u01/mysql8
mkdir data
mkdir log
mkdir run
touch /u01/mysql8/log/mysql8.log
3目录权限设置
#将mysql及其下所有的目录所有者和组均设为mysql
chown -R mysql:mysql /u01/mysql8/#查看是否设置成功执行下面命令可以看到文件的所有者和组都变成了mysql
cd /u01/mysql8
ll
4配置my.cnf文件----此文件非常重要初始化之前要把此文件放到 /etc 目录下或者把老文件备份一下升级失败还能用老MySQL ##rm -rf /etc/my.cnf编辑新文件 vi /etc/my.cnf #此文件内容如下(路径根据自己的实际情况):
[client]
port 13306
socket /tmp/mysql.sock[mysqld_safe]
log-error/u01/mysql8/log/mysql8.log
pid-file/u01/mysql8/run/mysql8.pid[mysqld]
port 13306
init-connectSET NAMES utf8mb4 #连接时执行的SQL
basedir/u01/mysql8 #根据自己的安装目录填写
datadir/u01/mysql8/data #根据自己的mysql数据目录填写
socket/tmp/mysql.sock
max_connections200 #允许最大连接数
max_connect_errors 30 #最大连接错误次数
character-set-serverutf8mb4 #服务端使用的字符集默认为8比特编码的latin1字符集
default-storage-engineINNODB #创建新表时将使用的默认存储引擎
skip-character-set-client-handshake #忽略应用程序想要设置的其他字符集
###sql_modeNO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES #sql模式net_read_timeout 120 #在中止读取之前等待来自连接的更多数据的秒数
net_write_timeout 900 #在中止写入之前等待块写入连接的秒数
max_allowed_packet 500M #在一次传送数据包的过程当中最大允许的数据包大小
wait_timeout1800 #请求的最大连接时间
interactive_timeout1800 #和上一参数同时修改才会生效###记录慢SQL
slow_query_log1
long_query_time 10
slow_query_log_fileslow-query.log
5初始化mysql数据库
/u01/mysql8/bin/mysqld --initialize-insecure --usermysql --basedir/u01/mysql8 --datadir/u01/mysql8/data#注意mysqld --initialize-insecure初始化后的mysql是没有密码的
6mysqld_safe启动mysql临时启动
/u01/mysql8/bin/mysqld_safe --usermysql
7修改密码调整用户
#登录数据库无密码
cd /u01/mysql8/bin/
./mysql -u root -p # 默认没有密码,直接敲回车就可以 [注]没有可以不管 --报错 [rootol8_mysql8_master bin]# ./mysql -u root -p ./mysql: error while loading shared libraries: libtinfo.so.5: cannot open shared object file: No such file or directory --解决 ln -s /usr/lib64/libtinfo.so.6.1 /usr/lib64/libtinfo.so.5 #修改数据库登录密码
#设置外网可以访问
在mysql的bin目录下执行mysql -uroot -p密码 登陆到数据
执行use mysql;
执行select host,user from user;可以看到user为roothost为localhost的话说明mysql只允许本机连接那么外网本地软件客户端就无法连接了。调整方法
执行update user set host% where user root;
执行刷新:flush privileges;use mysql;
ALTER USER root% IDENTIFIED BY Htjs_JS_2023;
flush privileges;exit;
8测试登录
cd /u01/mysql8/bin/
./mysql -u root -p输入密码后应该就连接上了show databases;
exit; #退出
9copy启动脚本并将其添加到服务且设置为开机启动之前已经有的统统备份统统移走 #mysql启动脚本为/u01/mysql8/support-files/mysql.server
cp /u01/mysql8/support-files/mysql.server /etc/init.d/mysqld #添加服务并设置开机启动
#添加系统服务
chkconfig --del mysqld
chkconfig --add mysqld# 显示服务列表
chkconfig --list# 开机启动
chkconfig --level 345 mysqld on
# 测试添加的服务是否能用 因为之前已经通过mysqld_safe启动mysql因此需要先停掉进程需要删除守护进程
ps -ef|grep mysqld
kill -9 进程号
启动数据库服务 [Linux6]
service mysqld status #查看状态
service mysqld start #启动mysql服务
service mysqld stop #停止mysql服务
[Linux7]
systemctl status mysqld #查看状态
systemctl start mysqld #启动mysql服务
systemctl stop mysqld #停止mysql服务如果还访问不了那可能是防火墙问题,修改下防火墙就ok。 4、配置mysql客户端命令快捷方式 先删除老的
rm -rf /bin/mysql
rm -rf /bin/mysqldump
--再增加新的快捷方式
cp /u01/mysql8/bin/mysql /bin/mysql
cp /u01/mysql8/bin/mysqldump /bin/mysqldump
测试登录 cd / mysql -u root -p
输入密码后应该就连接上了
show databases; exit; #退出 [可能出现的问题]libcrypto.so.1.1: cannot open shared object file。 [rootsc_12366_dzswj_l /]# mysql -u root -p mysql: error while loading shared libraries: libcrypto.so.1.1: cannot open shared object file: No such file or directory [解决1]可以将OpenSSL进行升级也可以用偷取取巧方法解决还可以用直接复制所需要的lib文件解决附上升级OpenSSL的方法 1.zlib tar -zxvf zlib-1.2.13.tar.gz cd zlib-1.2.13 ./configure make make install 2.openssl tar -zxvf openssl-1.1.1q.tar.gz cd openssl-1.1.1q ./config 若报错Cant locate IPC/Cmd.pm in IPC/Cmd yum install perl-IPC-Cmd 若报错Operating system: x86_64-whatever-linux2 You need Perl 5. yum install perl -y make make install 不用专门加参数默认在/usr/local/ssl cp libcrypto.so.1.1 /usr/local/lib cp libssl.so.1.1 /usr/local/lib cd /usr/local/lib ln -sf libcrypto.so.1.1 libcrypto.so.0 ln -sf libcrypto.so.1.1 libcrypto.so ln -sf libssl.so.1.1 libssl.so.0 ln -sf libssl.so.1.1 libssl.so ln -s /usr/local/lib64/libssl.so.1.1 /usr/lib64/libssl.so.1.1 ln -s /usr/local/lib64/libcrypto.so.1.1 /usr/lib64/libcrypto.so.1.1 验证 openssl version [解决2] 先删除老的 rm -rf /bin/mysql rm -rf /bin/mysqldump --或者投机取巧用软连接 ln -s /u01/mysql8/bin/mysql /bin/mysql ln -s /u01/mysql8/bin/mysqldump /bin/mysqldump 测试登录
[测试登录]
cd /
mysql -u root -p输入密码后应该就连接上了show databases;
exit; #退出
【主从环境准备】 1、mysql-master端关机VMware克隆mysql-master端为mysql-slave端并且启动mysql-slave端 2、mysql-slave端修改IP 3、mysql-slave端修改《auto.cnf》修改为与主库不一致就行了 /u01/mysql8/data/auto.cnf 4、启动从节点启动主节点 【主从搭建】 1.配置mysql-master端 1、追加my.cnf配置
server-id 11
log-bin mysql-bin #打开二进制功能,MASTER主服务器必须打开此项
expire_logs_days15 #日志过期时间
max_binlog_size1024M #binlog单文件最大值
binlog-rows-query-log_events1 #可以在binlog日志中看到语句的原始sql
?
binlog-formatROW
###binlog-row-p_w_picpathminimal #允许应用程序只能对行的镜像数据进行复制而不在关心行是否已经进行了DML操作
?
###gtid模式关键参数
gtid-modeon
enforce-gtid-consistencytrue
log-slave-updatestrue #从库做为其他从库的主库时用master-info-repositoryTABLE
relay-log-info-repositoryTABLE 2、重启MySQL服务
systemctl restart mysqld
2.配置mysql-slave端 1、追加my.cnf配置
server-id 12
log-bin mysql-bin #打开二进制功能,MASTER主服务器必须打开此项
expire_logs_days15 #日志过期时间
max_binlog_size1024M #binlog单文件最大值
binlog-rows-query-log_events1 #可以在binlog日志中看到语句的原始sql
?
binlog-formatROW
###binlog-row-p_w_picpathminimal #允许应用程序只能对行的镜像数据进行复制而不在关心行是否已经进行了DML操作
?
###gtid模式关键参数
gtid-modeon
enforce-gtid-consistencytrue
log-slave-updatestrue #从库做为其他从库的主库时用master-info-repositoryTABLE
relay-log-info-repositoryTABLE##从库用验证 binlog 内容的正确性
binlog-checksumCRC32 #验证 binlog 内容的正确性
source-verify-checksum1
replica_sql_verify_checksum1 2、重启MySQL服务
systemctl restart mysqld
3.主从搭建配置 1、master端 1新建用户mysql登陆进去
CREATE USER slave% identified by Htjs_JS_2023;
GRANT Replication slave ON *.* to slave%;
ALTER USER slave% IDENTIFIED WITH mysql_native_password BY Htjs_JS_2023;
flush privileges;
2)查看主库状态
MYSQLshow master status\G;
3)查看gtid状态
show variables like %gtid%; 2、slave端 1)从库上执行命令
change master to master_host192.168.110.161,master_port13306,master_userslave,master_passwordHtjs_JS_2023,master_auto_position1 ;
2)开启同步
start slave;
3)查看同步状态
show slave status\G;
4.主从验证 1.主库新建数据库及用户
create database swgxpt CHARACTER SET utf8 ;
2.验证主从从库执行
show slave status\G;
从库检查是否有无新建数据库、用户、相应的表结构。
【主从切换】
切换步骤:
1 切断应用对主库的流量
2 主库、备库设置只读
set global read_onlyON;set global super_read_onlyON;
3 查看备库复制进程状态
show slave status\G
确认Slave_IO_RunningSlave_SQL_Running状态为YESSeconds_Behind_Master为0
4 比对主备两边的GTID是否一致
方法一获取主备两边的executed_gtid集合进行比对
select global.gtid_executed;
5 从库停掉复制进程并清空主从信息
stop slave;reset slave all;
6 从库关闭只读开启读写转为新主库
set global read_onlyoff;set global super_read_onlyoff;
7 主库设置执行新主库的复制链路转为新备库完成主从切换
change master to master_host192.168.110.162,master_port13306,master_userslave,master_passwordHtjs_JS_2023,master_auto_position1 ;start slave;show slave status\G
8 应用流量切向新主库