Debian12使用镜像软件源安装最新MySQL8

Debian12使用镜像软件源安装最新MySQL8
lololowe1. 安装
1 | echo deb https://mirrors.tuna.tsinghua.edu.cn/mysql/apt/debian bookworm mysql-8.0 mysql-tools > /etc/apt/sources.list.d/mysql-community.list # 添加清华镜像源 |
安装过程中会要求设置root密码:
再次确认密码:
选择身份验证插件,为连接方便推荐使用第二个:
MySQL 8.0+ 版本以后,root 用户默认使用 auth_socket 插件进行身份验证,此插件的特点如下:
1.只允许本地(127.0.0.1)登录,不允许本机以外的任何机器登录 root 用户;
2.要登录 MySQL 的 root 用户,必须用操作系统的 root 用户登录。即拒绝本机中不能用 sudo 提权至 root 的用户登录。
3.不需要输入密码,即使手动为 root 用户 设置了密码,登录时也不会验证密码。
若选择第二个选项,mysql则会在/etc/mysql/mysql.conf.d/default-auth-override.cnf
文件中写入default-authentication-plugin = mysql_native_password
配置。若将其注释掉,则后续新建的用户会恢复默认使用 auth_socket 插件验证登录。使用SELECT user,host,plugin FROM mysql.user;
语句可以查询所有用户的身份验证插件。修改身份验证插件的语句为:ALTER USER 'root'@'%' IDENTIFIED WITH caching_sha2_password BY '新密码';
。
2. 配置
使用以下命令修改配置文件/etc/mysql/mysql.conf.d/mysqld.cnf
:
1 | cat >> /etc/mysql/mysql.conf.d/mysqld.cnf << EOF |
mysql默认监听在
0.0.0.0:3306
上,加上前两个配置的作用是强调意图,方便后续修改;
skip-ssl的作用是禁用ssl,不禁用的话会导致mysql客户端无法验证证书真实性(mysql服务端默认使用自签证书),使连接失败。除非客户端每次连接时加上--ssl-mode=DISABLED
参数。查询是否启用ssl:SHOW VARIABLES LIKE 'ssl';
,若have_ssl
为DISABLED
,则为禁用状态。
连接MySQL:
1 | mysql -u root -p |
允许从任何主机连接到root用户:
1 | UPDATE mysql.user SET host='%' WHERE user='root'; -- 修改root用户的主机访问权限为允许从任何主机连接 |