Ubuntu 安装及配置 MySQL
安装 MySQL
第一件事我们当然是安装MySQL
1 | sudo apt update |
当提示安装 MySQL 软件包时,按y和ENTER
软件包安装程序完成后,我们可以检查MySQL服务是否正在运行
1 | sudo service mysql status |
如果正在运行,他会如下图所示显示active(running)
然后我们就可以进入到MySQL安全配置中去
MySQL 安全配置
鉴于黑客们喜欢对数据库进行爆破攻击
所以我们安装完第一步就是mysql_secure_installation
1 | sudo mysql_secure_installation |
密码验证组件(可选)
系统会询问您是否要设置VALIDATE PASSWORD COMPONENT(密码验证插件)
如果您想要强制执行严格的密码策略
我们请尽量选择2 - STRONG Length >= 8, numeric, mixed case, special characters and dictionary
然后输入我们的密码
否则我们可以直接按ENTER跳过。
创建root账户密码
如果你在上一个步骤没有创建root密码
那现在你必须要输入一个强口令作为密码
删除匿名账户
接下来我们可以选择是否删除匿名账户
我选按y加上ENTER删除匿名帐户
禁用root账户远程登录
禁止root账户远程登录
是为了防止黑客对我们root账户进行密码爆破攻击
按y加上ENTER即可关闭该功能
删除测试数据库
按y加上ENTER即可删除测试数据库
重新加载权限表
按y加上ENTER重载权限表
然后我们就完成了对MySQL的安全配置
测试MySQL服务
我们现在可以尝试登录到MySQL中
如果提示你输入密码
请输入root密码而不是MySQL密码
1 | sudo mysql |
如果你要退出MySQL服务
请输入exit并按ENTER
那现在我们就可以去挑战终极Boss啦
配置 MySQL 数据库权限
- 2023.06 更新
初次登录
初次登录 MySQL 时密码为空
1 | sudo mysql -uroot -p |
修改密码
1 | ALTER USER 'root'@'localhost' IDENTIFIED WITH MYSQL_NATIVE_PASSWORD BY 'Root_Password'; |
创建局域网访问用户
出于安全考虑,通常不建议使用 'root'@'%'
相反,您应该创建一个具有更严格主机限制的用户
例如 'user'@'localhost' 或 'user'@'192.168.8.%'
1 | # 创建能在局域网的 Root 用户 |
授权所有操作权限给 Root 用户
1 | # 授予 Root 权限 |
疑难杂症
- 使用 2023.06 更新方法亦可解决
我们使用数据库去连接我们另外一个服务
结果发现ERROR:1698
根据大佬们的判断是远程登录没打开
但是现在的问题是远程登陆我们一定要关掉
所以我们需要另辟蹊径打开本地``远程登录
首先我们先进入到数据库的命令行进行操作
1 | sudo mysql -uroot -p |
然后我们就在MySQL Shell里输入以下指令
1 | ALTER USER 'root'@'localhost' IDENTIFIED BY 'Your_Password' PASSWORD EXPIRE NEVER; |
然后我们还要去确认是否只能本地远程连接
1 | sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf |
然后我们可以发现存在
1 | bind-address = 127.0.0.1 |
重启以下MySQL服务
1 | sudo service mysql restart |
然后我们重新连接我们的数据库
参考 & 引用
https://devanswers.co/install-secure-mysql-server-ubuntu-20-04/
