在ubuntu20.04如何使用--default_authentication_plugin=mysql_native_password运行mysqld
时间: 2023-12-12 15:03:00 浏览: 717
您可以按照以下步骤在Ubuntu 20.04中使用--default_authentication_plugin=mysql_native_password运行mysqld:
1. 编辑mysqld.cnf文件
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
2. 添加以下行到文件底部:
[mysqld]
default_authentication_plugin=mysql_native_password
3. 保存并关闭文件
4. 重启MySQL服务
sudo systemctl restart mysql.service
现在,您就可以使用--default_authentication_plugin=mysql_native_password选项运行mysqld了。
相关问题
在Ubuntu20.04下如何使用--default_authentication_plugin=mysql_native_password运行mysqld,mysql为8.0版本
在 Ubuntu 20.04 上运行 MySQL 8.0 版本时,可以使用以下方式启动 MySQL 服务并指定默认认证插件为 `mysql_native_password`:
1. 首先,编辑 MySQL 配置文件 `/etc/mysql/mysql.conf.d/mysqld.cnf`:
```
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
```
2. 找到 `[mysqld]` 段落,在该段落下添加以下两行配置:
```
default_authentication_plugin=mysql_native_password
skip-grant-tables
```
第一行表示默认认证插件为 `mysql_native_password`,第二行表示启动 MySQL 服务时跳过授权表的检查。
3. 保存并退出配置文件。
4. 停止 MySQL 服务:
```
sudo systemctl stop mysql
```
5. 以跳过授权表检查的方式启动 MySQL 服务:
```
sudo mysqld --skip-grant-tables
```
6. 在 MySQL 命令行中登录:
```
mysql -u root -p
```
此时无需输入密码即可登录。
7. 修改 `mysql.user` 表中 `root` 用户的认证方式:
```
mysql> use mysql;
mysql> update user set authentication_string=password('your_password') where user='root';
mysql> update user set plugin="mysql_native_password";
mysql> flush privileges;
mysql> quit;
```
注意将 `your_password` 替换为你想要设置的密码。
8. 停止 MySQL 服务:
```
sudo systemctl stop mysql
```
9. 移除 `skip-grant-tables` 配置:
```
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
```
删除 `skip-grant-tables` 行并保存。
10. 启动 MySQL 服务:
```
sudo systemctl start mysql
```
现在,你可以使用设置的密码登录 MySQL 了。
在Ubuntu20.04中的mysql8.0中如何使用--default_authentication_plugin=mysql_native_password运行mysqld
在 Ubuntu 20.04 中安装 MySQL 8.0 后,可以使用以下命令来使用 `--default_authentication_plugin=mysql_native_password` 运行 `mysqld`:
```
sudo mysqld --default_authentication_plugin=mysql_native_password
```
如果你使用的是 systemd 来管理 MySQL 服务,可以在 `/etc/systemd/system/mysqld.service.d/mysqld.conf` 文件中添加以下内容:
```
[Service]
ExecStart=
ExecStart=/usr/sbin/mysqld --default_authentication_plugin=mysql_native_password
```
然后重新加载 systemd 配置并重启 MySQL 服务:
```
sudo systemctl daemon-reload
sudo systemctl restart mysqld
```
需要注意的是,在 MySQL 8.0 中,默认的认证插件是 `caching_sha2_password`,所以如果你使用 `--default_authentication_plugin=mysql_native_password` 参数启动 `mysqld`,则需要创建一个用户并指定其认证插件为 `mysql_native_password`。例如:
```
CREATE USER 'myuser'@'localhost' IDENTIFIED WITH mysql_native_password BY 'mypassword';
```
这将创建一个用户名为 `myuser`,密码为 `mypassword`,并使用 `mysql_native_password` 作为认证插件的用户。
阅读全文
相关推荐











