麒麟新安系统mysql崩溃

嘿嘿,前两天发生了一些事情。
突然公司服务器出现蓝屏。
我发现麒麟西南系统MySQL宕机了。
当时我就想这东西又出问题了,得赶快修好,不然会影响大家的工作。

我记得这个服务器曾经在半夜自动重启过。
第二天查看日志时,发现binlog配置错误,格式设置为一些奇怪的值。
当时我赶紧改了/etc/my.conf,然后重启了。
这次的情况大概也是类似的。

我打开终端并使用 sudotail -f /var/log/mysqld.log 检查日志。
一行行英文在屏幕上滚动,突然看到binlog_format=logic旁边有一堆红字,说不支持这个配置。
我想,好吧,我必须再次更改配置。

打开/etc/my.conf,找到这一行,并将其更改为binlog_format=ROW。
保存后,sudo systemctl restart mysql,命令行提示正在重启。
等待几分钟后,sudo systemctl status显示mysql running,状态良好。

等等,还有一件事。
上次 ODBC 连接崩溃的时间。
升级 OpenSSL 和 Boost 后,这个问题似乎得到了解决。
虽然这次不成问题了,但我还是要牢记在心。

MySQL 现在应该没问题了,但我不知道为什么会发生这种错误配置。
系统是否自动保存配置?下次还会有其他问题吗?

技术分享 | ARM下中标麒麟系统ky10使用Xtrabackup-8.0.25

红米ky1 0+ARM+Xtrabackup8 .0.2 5 中标……说实话,挺麻烦的。
当时我不明白为什么直接编译不行。

我们先来说说环境。
中标的是基于ARM架构的麒麟ky1 0哪个版本的内核?我记不太清楚了,但无论如何,它已经很旧了。
直接在ky1 0上编译Xtrabackup8 .0.2 5 时,报一堆gcc错误。
关于海湾合作委员会我能说什么?只是翻译工具不好。
所以我必须改变环境。

已选择CentOS8 为什么选择它?内核版本与ky1 0类似。
中标的是麒麟软件公司的Kirin和红帽的CentOS,但ARM版本仍然可以使用。

准备CentOS8 :
1 .检查系统。
使用 uname -a 查看它是 ARM6 4 还是其他。
CentOS8 也必须是ARM版本。
2 .下载源码。
访问Percona官网,下载Xtrabackup8 .0.2 5 源码包。
我不记得官网链接了,只是找Percona XtraBackup 8 .0.2 5 源代码包。
3 .配备yum。
CentOS8 软件源必须完全匹配。
使用 vi /etc/yum.repos.d/... 修改源。
一定有 epel 来源什么的。
相反,当 yum install gcc 时,会说找不到源。
4 . 安装依赖项。
编译之前需要安装很多东西。
首先使用 yum groupinstall “开发工具”安装开发工具组。
然后 yum install cmake libzip-dev libevent-dev 像这样。
如果安装太多也没关系。
如果你安装太少,编译器会报错,你会哭。
当时忘记安装libevent-dev,编译一直报错。
我花了很长时间才学会。

编译Xtrabackup:
1 .解压源代码。
tar -zxvf xtrabackup-8 .0.2 5 .tar.gz。
2 . 编译。
.cmake .然后完成。
ARM架构的编译时间可能会更长。
我花了将近两个小时才编译完成。
如果编译过程中没有问题的话就完成了。

ky1 0 上的 MySQL:
1 安装MySQL8 .0.2 5 获奖的 ARM ky1 0 的 ARM 版本可能必须附带单独的软件包。
使用 yum install mysql-community-server 或其他命令。
安装完成后,启动systemctl启动mysqld。
2 . 初始化。
第一次启动时,系统会提示您设置 root 密码。
记下来,不然无法连接。
3 . 创建用户和库。
连接到MySQL后,CREATE USER 'test'@'localhost' IDENTIFIED BY 'password';或者什么的。
然后创建数据库 test_db;。

耐力测试数据:
1 .安装系统平台。
使用 yum 安装 sysbench。
2 .压力测试。
sysbench --db-driver=mysql --mysql-user=test --mysql-password=password --mysql-db=test_db --table-size=1 000 --threads=4 准备。
这将创建表并插入 1 000 条记录。
放慢脚步,等待它结束。

检查备份和恢复:
1 支持。
使用您编译的 Xtrabackup。
/path/to/xtrabackup --backup --target-dir=/path/to/backup.备份过程发生得非常快。
不过不用担心输出,看看最后有没有报告成功与否。
2 .恢复。
/path/to/xtrabackup --copy-back /path/to/backup --target-dir=/var/lib/mysql.恢复后,必须重新启动MySQL服务。
systemctl 重新启动 mysqld。
3 . 验证。
连接到 MySQL,SELECT COUNT() FROM test_db.table;查看是否有 1 ,000 个条目。
就是这样。

增量备份与恢复:
1 .增量备份。
您必须首先进行完整备份。
然后 xtrabackup --incremental --backup --target-dir=/path/to/incremental。
2 .恢复。
先恢复全部金额,再恢复增加的金额。
该顺序不能颠倒。
增量恢复也是 --copy-back 命令。
3 . 验证。
同上,检查数据项数量。

走完整个流程后,可以使用Xtrabackup8 .0.2 5 来中标ARM架构下的Kiri ky1 0只是编译比较麻烦,因为所有的依赖都要安装。