月度归档:2023年06月

想知道把MYSQL5.7切换成8.0的标准步骤

您好,升级步骤如下
1、先为您的数据库备份,备份的时候要确保没有数据写入,然后把备份好的数据库下载到本地或者其它服务器上,防止数据丢失,有条件的可直接对服务器做磁盘快照,这里是备份好数据再停止数据库,因为面板上的备份是使用mysqldump命令备份,需要数据库在运行
2、备份好数据之后,停止数据库,稍等几分钟再卸载
3、安装8.0版本的MYSQL
4、操作完毕后在宝塔左侧数据库菜单内添加新的空数据库、然后导入先前备份的数据库
这样就可以升级成功了,不过要确保您mysql5.7中的数据在mysql8中也是兼容的,有时候两个版本之间的数据结构等还是有点差异,您事先可以用个测试机器安装mysql8,再导入mysql5.7的数据,看看是否能兼容。您在面板上升级好mysql8之后,导入数据,如果数据导入不全或者失败,先恢复到mysql5.7,然后测试好之后再升级

建议在您深夜等访客较少的时候升级。
升级过程中会重启数据库、如数据库原本存在表损坏等情况的话,
将会导致重启失败甚至数据丢失、务必做好数据库备份校验数据完整性后再进行升级。
如果您做了备份还不放心,建议您前往服务器商家控制台做个服务器快照,可随时回滚。

Linux 禁用 root 登录,并创建新的管理员账户

最近在折腾玩客云,刷了一个Armbian Linux系统,顺手将 root 远程登录也给禁用了,这里记录一下方法。

创建新管理账户
创建账户

useradd -m admin

设置密码

passwd admin

添加到系统管理员组

#CentOS/RHEL
usermod -aG wheel admin

#Debian/Ubuntu
usermod -aG sudo admin

禁用root账户
禁用 root 有很多中方式,这里简单列两种

1.修改 root 用户的登陆 Shell
vim /etc/passwd

找到 root 那一行,将末尾的/bin/bash 改为 /sbin/nologin。

比如

root:x:0:0:root:/root:/bin/bash

改为

root:x:0:0:root:/root:/sbin/nologin

此方法可以禁止 root 用户通过 shell 登录,即禁止 root 用户 ssh 远程登录和通过普通用户切换到 root 用户。

此后, root 用户登陆,会显示一条信息 “This account is currently not available” 。

这是默认消息,但是,你可以更改它并在文件中设置自定义消息 /etc/nologin.txt。

2.禁止 root 用户通过 ssh 登陆
编辑 sshd_config 将 PermitRootLogin 改为 no,如果是 PermitRootLogin 是注释状态,取消注释,然后将其设置为 no,如果不存在直接新增一条即可。

vim /etc/ssh/sshd_config

如:

PermitRootLogin no

然后重启 SSHD 服务让配置生效

systemctl restart sshd

此方法仅禁止用户通过 ssh 登录, 但仍可以使用普通用户切换到 root。

mysql数据库导入1115 – Unknown character set: ‘utf8mb4’

在进行phpmyadmin数据库备份恢复的时候,出现 #1115 – Unknown character set: ‘utf8mb4’ 的错误提示。

具体原因一般是高版本的数据库备份文件向低版本的数据库导入, 低版本的数据库中没有utf8mb4字符集,导致出错。

解决方法也很简单,除了升级当前数据库版本之外, 只需要将备份sql文件中的utf8mb4替换成utf8即可,保存后重新导入。