MariaDB Startup Shell

参考

Help to write shell script

Reset MariaDB Root

MariaDB Startup Shell

通过apt成功安装 MariaDB 后,需要重新配置帐号密码并设置端口。同样适用于忘记密码但拥有 root 权限的管理员进行数据库的重新配置。

Step 1 停止正在运行的 MariaDB Server 服务

如果我们需要重置密码以及其他配置,需要先停止正在运行的 MariaDB Server。

1
sudo systemctl stop mariadb.service

Step 2 安全模式下启动 MariaDB Server

接下来我们需要跳过网络及 permission table 来连接数据库。

1
sudo mysqld_safe --skip-grant-tables --skip-networking &

Step 3 重新设置 MariaDB root Password

现在我们成功在安全模式下启动了 MariaDB Server,我们可以尝试使用 root 账户登录

1
sudo mysql -u root

会发现可以直接登录。

我们可以通过在 mysql 的交互式命令行工具中指定使用的数据库再修改 root 账户的密码,也可以返回 bash 中直接执行下面的命令

1
2
sudo mysql -u root -D mysql -e "UPDATE user SET password=PASSWORD('your_new_password_plaintext') WHERE user='root';"
sudo mysql -u root -D mysql -e "FLUSH PRIVILEGES"

Step 4 关闭安全模式重启 MariaDB Server

我们需要在额外的终端执行如下命令来关闭安全模式启动的 DB。

1
sudo mysqladmin -u root -p=your_new_password_plaintext shutdown

再重启我们的 MariaDB Server

1
sudo systemctl restart mariadb.service

Bug

注意使用 sudo 以获取 root 权限来执行,这是因为 MariaDB 的默认用户 root 采用 unix_socket 插件进行鉴权,而执行安全配置需要登录,后面修改权限表改为传统的口令鉴权。


本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!