gpt4 book ai didi

mysql - 如何重置 MySQL 5.7 上的默认 'root' 用户行为

转载 作者:行者123 更新时间:2023-11-29 05:10:35 25 4
gpt4 key购买 nike

我对新的 MySQL 5.7“root”用户行为感到满意。它只允许本地主机上的 linux root 用户以 MySQL root 用户身份登录 MySQL。

我最近导入了我的旧用户表并覆盖了这个更改,现在任何人都可以使用密码在本地主机上以 root 身份登录。

如何恢复默认的 MySQL 5.7 root 用户设置?

请仔细阅读问题,因为很多此功能已从 5.5 更改为 5.7,并且很容易向后回答这个问题。

最佳答案

问题:

如果您通过导入旧的 MySQL 5.5 数据库覆盖 5.7 更改,则需要在 root 用户上手动安装和启用 auth_socket 模块和用户表。

解决方案:

对于用户,我们仍希望使用默认的 mysql_native_password。对于 root,我们要使用 auth_socket

install plugin auth_socket soname 'auth_socket.so';
use mysql; update user set plugin='mysql_native_password';
update mysql.user set plugin = 'auth_socket' where User='root';
flush privileges;

如果你以错误的顺序执行(在安装插件之前添加rootauth_socket 列),那么你将无法加载mysql,因为插件赢了' 执行身份验证。要在安全模式下启动和运行 mysql,请使用:

sudo service mysql stop
sudo mysqld_safe --skip-grant-table &
sudo mysql -u root -p -h localhost

这些修复是在将完整的数据库和用户表从 MySQL 5.5 导入到 MySQL 5.7,从 Ubuntu 14.04 迁移到 Ubuntu 16.04

工具:

查看插件:show plugins\g

在 root 用户上显示 auth_socket:select auth_socket from mysql.user where user='root';

关于mysql - 如何重置 MySQL 5.7 上的默认 'root' 用户行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39968082/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com