基于wlnmp一键安装包做MySQL主从

本文基于RockyLinux8.9系统,使用传统异步方式来做MySQL主从同步,本文中所使用的MySQL版本为8.0.35,配置过程中不影响主库的正常运行,请确保主从服务器时间一致性,防火墙相应的规则已配置。

MySQL主从为什么不用master、slave了,以及主从复制原理见:https://blog.whsir.com/post-7332.html

MySQL主(SOURCE):10.10.10.161
MySQL从(REPLICA):10.10.10.162

MySQL主(SOURCE)配置

1、添加wlnmp和epel源

2、安装MySQL

3、创建数据库whsir以及测试表(作为演示用)

注意wlnmp一键安装包安装的MySQL密码为空

4、创建用户并授权从库可以读取日志文件

5、刷新查看用户权限

查看zhu账号是否生效

6、备份库

--single-transaction:该选项确保在备份时使用事务,这样可以保证备份的一致性,而不会锁定整个数据库。

--source-data=2:这个选项用于在输出文件中包含二进制日志坐标信息,二进制日志坐标信息是主从复制中用于同步的关键信息,这里数字“2”表示包含二进制日志文件名和位置。

7、备份库拷贝至从库上

把备份好的库拷贝到从库,你可以scp传过去,也可下载到本地再传到从库上。

8、查看备份文件whsir.sql的binlog和pos值,记录下来,从库配置时用

MASTER_LOG_FILE='mysql-bin.000002', MASTER_LOG_POS=1274;

9、连通性验证

为了确保主库的账户配置正确以及主从服务器的连通性,我们在从服务器上连接下主的库,确保可以正常连通,再进行下一步

至此主库配置完毕。

MySQL从(REPLICA)配置

1、修改my.cnf文件

wlnmp一键安装包安装的MySQL数据库,默认server-id = 100,从库的server-id值一定要大于主库的。

修改从库my.cnf中的server-id

指定复制的库和表,此处%表示通配所有

增加只读参数

2、重启从库的MySQL

3、创建whsir库

4、导入whsir.sql

5、配置主从同步

这里的MASTER_LOG_FILE和MASTER_LOG_POS值,就是前面提到的binlog和pos,MASTER_CONNECT_RETRY是连接失败后等待的秒数。

6、查看同步状态

如果看到以下两项都是yes表示主从配置成功

Replica_IO_Running: Yes
Replica_SQL_Running: Yes

如果看到以下等于0表示主从没有延迟

Seconds_Behind_Source: 0

7、最后在从库上创建一个只读权限的帐号

 

yum安装php8.3

php8.3.0近日已正式发布,wlnmp一键安装包也第一时间做了适配,通过wlnmp一键安装包提供的源,可yum一键安装完成php8.3.0。

安装方法,以CentOS7为例

1、配置epel源

2、添加wlnmp源

3、安装php8.3.0

安装后默认启动php8.3.0

4、启动停止服务

5、安装路径查看

更多系统版本wlnmp的源请访问官网查看:https://www.wlnmp.com/install

wlnmp一键安装包使用详解

软件包格式组成

例如wmysql8

这里的w表示wlnmp一键安装包的首字符,所有wlnmp一键安装包提供的包组,均是以w开头
mysql8就是软件名称+软件大版本号,这个软件名称和软件大版本号,可通过版本支持(https://www.wlnmp.com/release)中的软件名称查看。

例如wnginx

由于一些软件不存在大版本长期维护更新情况,所以像是nginx、keepalived等无需指定版本号。
例如wcphp74、wcmysql8。

这里的w表示wlnmp一键安装包的首字符,c表示多副本意思,所以以wc开头的包组是可以多版本并存安装的。

软件多版本并存

多版本并存表示在同一系统内,存在多个不同的软件版本,同时并行存在,互不影响。

截至目前多版本并存支持php、MySQL全系列版本,即(php5.6/php7.0/php7.1/php7.2/php7.3/php7.4/php8.0/php8.1/8.2/MySQL5.5/MySQL5.6/MySQL5.7/MySQL8.0)

安装方式见:https://www.wlnmp.com/post-1977.html

注意:任何软件版本,仅可存在一个,同版本不可并行。

软件包安装路径

所有软件包组安装的路径,默认都遵循标准位置即/usr/local,如/usr/local/nginx。

详细内容可用rpm -ql来查看,如rpm -ql wnginx。

MySQL数据存放在/data目录下,日志路径请查看各个软件包的配置文件。

软件包更新卸载

通过wlnmp一键安装包安装的所有软件,均可支持yum update平滑升级、yum remove完美卸载操作。
yum update升级注意事项:

1、虽然理论上yum update升级不会有什么问题,但还是建议用户升级前做好备份,避免某些特殊原因所导致升级失败影响正常业务使用。

2、执行update升级时,一定会重启当前所要升级的软件,所以升级前可考虑先停止服务,再执行升级。

3、执行update升级时配置文件注意事项

  • 如果当前软件的配置文件(如MySQL的my.cnf,php的php-fpm.conf等)从未更改过,那么升级时,可能会对配置文件有所改变。
  • 如果当前软件的配置文件改变过,那么升级时,不会对当前配置文件内容有所改变。

4、执行yum remove卸载操作时,出于数据安全考虑,MySQL会保留/data目录下的数据文件。

5、卸载MySQL当前版本后,再安装其他版本时,注意卸载时的残留文件,通常要注意/data下的数据目录。

  • 例如:当前卸载了MySQL8版本,卸载后要安装MySQL57版本,那么/data目录下MySQL的数据文件一定要清除,或将数据目录改名移走,不然会造成冲突。

6、其他软件版本执行卸载,通常不会有所残留。

软件包启动停止

通过wlnmp一键安装包安装的所有软件,启动停止脚本均在/etc/init.d/目录下,请勿使用systemctl或service来启动停止软件。

例1:启动php74执行/etc/init.d/php-fpm74 start

例2:直接执行/etc/init.d/php-fpm74会提示可选操作,即Usage: /etc/init.d/php-fpm74 {start|stop|force-quit|restart|reload|status|configtest}

php、MySQL多版本并存安装

在按照wlnmp一键安装包官网教程:https://www.wlnmp.com/install添加wlnmp源后如何安装多个php、MySQL版本并存,本文做一个详细说明。

已有wlnmp安装的php和MySQL安装多版本并存方法:

如果你当前正在使用wlnmp一键安装包安装的php和MySQL,请先将php和MySQL升级到最新版本(如果是在2023年6月22日后安装的php和MySQL非必须升级)。

例:假设你当前通过wlnmp一键安装包已安装了php7.4、MySQL5.7的版本,此时要安装php8和MySQL8版本,则直接执行以下安装命令即可。

那么此时,你当前系统就同时并存了php7.4、MySQL5.7、php8、MySQL8版本,如果你还想安装php56、MySQL5.5则继续执行以下命令即可。

那么此时,你当前系统就并存了php5.6、php7.4、php8、MySQL5.5、MySQL5.7、MySQL8版本。

建议:安装完成后重新登录一次系统,使其变量生效,或直接执行exec bash命令。

注意:同一个版本只能存在一个,如果不需要哪个版本了,直接执行yum remove卸载即可,MySQL卸载时,默认会保留MySQL目录下的数据,所以确定MySQL数据不要的情况下,需要手动删除/data下对应的MySQL目录。

全新系统安装php和MySQL多版本并存方法:

如果你当前正在使用的系统没有通过wlnmp一键安装包安装过php、MySQL或已通过yum remove卸载了,那么你可以直接通过yum install安装wc开头的php、MySQL包组。

例:当然系统没有php和MySQL,想要安装php5.6、php7.4、php8.1,MySQL5.5、MySQL5.7,则直接执行以下安装命令即可。

那么此时,你当前系统就并存了php5.6、php7.4、php8.1、MySQL5.5、MySQL5.7版本。

建议:安装完成后重新登录一次系统,使其变量生效,或直接执行exec bash命令。

注意:同一个版本只能存在一个,如果不需要哪个版本了,直接执行yum remove卸载即可,MySQL卸载时,默认会保留MySQL目录下的数据,所以确定MySQL数据不要的情况下,需要手动删除/data下对应的MySQL目录。

CentOS8安装ntp同步时间

在CentOS8中默认不再支持ntp软件包,时间同步将由chrony来实现,如果你习惯了使用ntp来同步时间,一时难以去适应chrony。

本文将通过wlnmp提供的源,来安装ntp服务

添加wlnmp源

安装ntp服务

使用ntpdate进行时间同步

AnolisOS8安装ntp同步时间

在AnolisOS8中默认不再支持ntp软件包,时间同步将由chrony来实现,如果你习惯了使用ntp来同步时间,一时难以去适应chrony。

本文将通过wlnmp提供的源,来安装ntp服务

添加wlnmp源

安装ntp服务

使用ntpdate进行时间同步

OpenEuler20.3安装ntp同步时间

在OpenEuler20.3中默认不再支持ntp软件包,时间同步将由chrony来实现,如果你习惯了使用ntp来同步时间,一时难以去适应chrony。

本文将通过wlnmp提供的源,来安装ntp服务

添加wlnmp源

安装ntp服务

使用ntpdate进行时间同步

Alma8安装ntp同步时间

在AlmaLinux8中默认不再支持ntp软件包,时间同步将由chrony来实现,如果你习惯了使用ntp来同步时间,一时难以去适应chrony。

本文将通过wlnmp提供的源,来安装ntp服务

添加wlnmp源

安装ntp服务

使用ntpdate进行时间同步

Rocky8安装ntp同步时间

在RockyLinux8中默认不再支持ntp软件包,时间同步将由chrony来实现,如果你习惯了使用ntp来同步时间,一时难以去适应chrony。

本文将通过wlnmp提供的源,来安装ntp服务

添加wlnmp源

安装ntp服务

使用ntpdate进行时间同步

CentOS7下yum安装libzip最新版

本文基于wlnmp一键安装包,在centos7系统下,直接yum安装libzip1.7.3或1.8.0

添加wlnmp一键安装包源

安装libzip1.7.3版本

如果不加版本号,默认安装1.8.0最新版,即