MySQL没有root账户

select user,host from user;

查找数据库权限

删除root账户

drop user 'root'@'localhost';

创建root

 create user 'root'@'localhost' identified by '111111';

赋予权限

GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION;

允许远程访问

update user set host='%' where user='root';

刷新权限

 flush privileges;

退出

 exit;

重启mysql

systemctl restart mysqld.service

### 解决 MySQL没有 root 账户的问题 当遇到 MySQL 缺少 `root` 账号的情况时,可以通过以下方式重新创建或修复该账号: #### 1. 检查当前用户表是否存在 `root@localhost` 通过查询 `mysql.user` 表确认是否有对应的记录存在。如果不存在,则需要手动插入一条新的记录。 ```sql SELECT Host, User FROM mysql.user WHERE User='root'; ``` 如果没有找到匹配的结果,则说明确实缺失了 `root@localhost` 的条目[^1]。 --- #### 2. 使用安全模式进入 MySQL 并重建 Root 用户 对于无法正常登录的情况下,可以尝试以下操作来恢复访问权限: - **停止 MySQL 服务** 停止正在运行的服务以切换到单用户模式。 ```bash sudo systemctl stop mysqld ``` - **启动 MySQL 单用户模式** 启动 MySQL 不加载授权表的方式允许管理员绕过密码验证。 ```bash sudo mysqld_safe --skip-grant-tables & ``` - **连接至 MySQL 控制台** 此时不需提供任何密码即可直接进入控制台。 ```bash mysql -u root ``` - **更新或新增 Root 用户信息** 插入一个新的 `root@localhost` 条目或者重置现有用户的密码。 ```sql INSERT INTO mysql.user (Host, User, authentication_string) VALUES ('localhost', 'root', PASSWORD('新密码')); FLUSH PRIVILEGES; ``` 或者针对已存在的账户设置新密码: ```sql ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码'; FLUSH PRIVILEGES; ``` 上述语句适用于不同版本的 MySQL 数据库系统[^2]^。 --- #### 3. 初始化数据目录(仅限全新安装) 如果是初次部署 MySQL 环境而未生成默认配置文件和初始化数据结构的话,那么按照官方指南完成必要的准备工作是非常重要的一步: - 执行初始化命令 对于较新版(>=5.7),推荐采用如下指令代替旧版脚本工具: ```bash mysqld --initialize-insecure --user=mysql ``` 这样会自动建立初始超级管理员(root卡槽无预设密钥)[^3]. --- #### 4. 配置环境变量与权限调整 为了确保后续能够顺利调用相关二进制可执行档以及设定正确的档案拥有权归属关系,请参照最佳实践做适当修改: - 设置路径映射以便全局可用 ```bash ln -s /usr/local/mysql/bin/* /usr/local/bin/ ``` - 更改资料夹所有权给指定使用者群组成员共享资源存取权利. ```bash chown -R mysql:mysql /usr/local/mysql/ ``` - 将服务加入开机自启项目列表当中去简化日常维护工作流程效率提升效果显著可见一斑啊朋友们大家说是不是呢?哈哈开个小玩笑活跃气氛啦~其实这里主要是强调做好基础架构层面的安全防护措施的重要性哦亲们记住了吗😊 最后记得启用服务并测试连结状况是否恢复正常状态咯! --- ### 总结 上述方法涵盖了从简单排查到复杂场景下的解决方案,具体实施过程中应依据实际情况灵活选用最合适的手段加以应对处理才行哟~
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值