ubuntu - 安装 Mysql(apt 方式)
环境说明
- OS:Ubuntu 20.04.6 LTS
- Mysql:8.0.42-0ubuntu0.20.04.1(软件源当前最新版)
安装流程
- 安装Mysql服务端
1 | sudo apt install mysql-server |
- 安装 Mysql 客户端(可省略,mysql-server 依赖 mysql-client-8.0,因此已经安装了 mysql-client-8.0,安装 mysql-client 其实也就依赖这个。安装上只是感觉上更好 😄)
1 | sudo apt install mysql-client |
- 安装完毕后,默认会启动并设置为开机自启。如下检查
- 登陆 Mysql,通过
sudo mysql
即可
PS. 为什么这样就能登录了?因为默认 root 用户的加密方式是 auth_socket
,详情参见 mysql - 免密登录(使用 auth_socket 插件)
- 【可选】为 root 用户设置密码(!不推荐修改,我个人认为
root@localhost
用户最佳实践就是auth_socket
,登录方便且安全!)
1 | mysql> alter user root@localhost identified with caching_sha2_password by '123456'; |
PS. 注意,原始的 plugin 是 auth_socket,这个允许用户使用系统(Unix/Linux)账号登录 MySQL,而不使用密码,即不管 authentication_string
(密码字段)
我们这里将其加密方式设置为 caching_sha2_password
,此时密码就有效了,这里设置为 123456
通过修改后的账号密码登陆
允许远程【可选】
- 监听本机所有端口(默认仅监听 127.0.0.1,无法外部访问)
通过 sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf
编辑配置
1 | 原本 |
- 重启 Mysql 并检查监听
1 | sudo systemctl restart mysql |
- 创建一个远程用户(之前的 root 的 host 是 localhost,因此仅本机可使用)
1 | 创建用户 |
PS. 是否需要 flush privileges
?如果通过修改表方式,修改 mysql.user
则需要,否则不需要