问题描述:
宝塔的新版本在使用的过程中会遇到各种奇奇怪怪的问题,特别是数据库。
首先需要在服务器SSH内执行下面命令查看MySQL的错误日志
cat /www/server/data/*.err | grep -i -C 10 error
问题一:
数据库忽然自动关闭,或频繁重启但失败。一旦开启二进制日志后就无法启动,但是关闭了二进制后才可以启动数据库。
例如:无法打开mysql-bin.0001XX这个二进制日志文件,可能是文件损坏或者文件权限有问题。
这个文件的权限默认是640 mysql,如果这个文件损坏的话,需要先停止mysql,将/www/server/data目录下的二进制日志文件删除,并在/www/server/data/mysql-bin.index 这个文件中,删除对应文件名,然后再尝试重启。
这个问题的原因是用户错误日志提示mysql-bin.index日志存在一个二进制日志文件名称,但实际data目录下不存在这个文件才造成的错误。
问题二:
19:14.812328Z 25702 [Warning] [MY-013360] [Server] Plugin sha256_password reported: ''sha256_password' is deprecated and will be removed in a future release. Please use caching_sha2_password instead'
[警告] [MY-013360] [服务器] 插件 sha256_password 报告:“sha256_password 已弃用,将在以后的版本中删除。请改用 caching_sha2_password”
转储 mysql.user 表,我发现生成的 mysql_router 用户正在使用“mysql_native_password”插件,而所有其他用户都在使用正确的“caching_sha2_password”插件。
MySQL 将在未来版本中弃用 sha256_password 身份验证方法,建议改用 caching_sha2_password。
日志中记录警告的情况有:
使用 sha256_password 身份验证方法创建数据库用户
使用 sha256_password 身份验证方法进行远程或本地连接尝试
一般来说,Gateway 10 Appliance 默认不使用“sha256_password”。实际上,默认的身份验证插件是“mysql_native_password”,所有内置数据库的用户都设置为使用 mysql_native_password 或“caching_sha2_password”。
通过运行以下查询,验证没有使用弃用的身份验证方法设置新用户:
mysql>从mysql.user中选择主机、用户、插件;
下面是使用“sha256_password”创建的“测试”用户的输出示例:
mysql> 从 mysql.user 中选择主机、用户、插件;
+------------------------------------------+------------------+-----------------------+
| 主机 | 用户 | 插件 |
+------------------------------------------+------------------+-----------------------+
| 本地主机 | 测试 | sha256_password |
隔离使用 sha256_password 创建的数据库用户和主机
使用以下 MySQL 语句将插件类型从 sha256_password 更改为 caching_sha2_password(将 <username>、<remote host or ip> 和 <password> 替换为正确的条目):
更改用户' <用户名> '@' <远程主机或 ip> ',并通过' <密码>' 使用 caching_sha2_password 进行标识;
如果您希望完全抑制在日志中记录的警告,您可以执行以下操作:
编辑 /etc/my.cnf 并在 [mysqld] 部分下添加以下行:
log_error_suppression_list='MY-013360'
然后重新启动mysql服务以使新的设置生效。
暂无评论内容