> 文章列表 > 【数据库】关于user表的一些报错和总结

【数据库】关于user表的一些报错和总结

【数据库】关于user表的一些报错和总结

user表是MySQL中的一个权限表,用来记录允许连接到服务器的账号信息;user表中的字段大致可以分为4类,分别是用户列、权限列、安全列和资源控制列。

mysql有没有user表-mysql教程-PHP中文网

Mysql—用户表详解(mysql.user) - 刘_love_田 - 博客园 (cnblogs.com)

Host列指定了允许用户登录所使用的IP,比如user=root Host=192.168.1.1。这里的意思就是说root用户只能通过192.168.1.1的客户端去访问。而%是个通配符,如果Host=192.168.1.%,那么就表示只要是IP地址前缀为“192.168.1.”的客户端都可以连接。如果Host=%,表示所有IP都有连接权限。

mysql没有mysql.user表的root用户问题

vim /etc/my.cnf
skip-grant-tables     #在[mysqld]下面添加这一行,忽略权限表
systemctl restart mysqld.service
create user 'root'@'localhost' identified by '密码';
ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement
flush privileges;刷新配置
create user 'root'@'localhost' identified by '密码';
ERROR 1396 (HY000): Operation CREATE USER failed for 'root'@'localhost'

应该是之前创建,执行删除的时候没有删除干净。此时重新进行删除

drop user root@'ip';
flush privileges;
create user 'root'@'localhost' identified by '密码';

赋予root权限

mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION; #赋予所有库所有表操作权限

删除配置文件中的skip-grant-tables

vim /etc/my.cnf

如果不删除 用navicat远程连接会报错

2003-cant connection to mysql server on ‘IP’(10061 unknown error)

重启MySQL

systemctl restart mysqld.service

报错:

ERROR 1396 (HY000): Operation ALTER USER failed for ‘root‘@‘localhost

修改root的host为%

mysql -u root -p
use mysql;
select user,host from user;
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '密码';

MySQL重启命令

(16条消息) MySQL启动和关闭命令_只是甲的博客-CSDN博客_mysql启动命令

(16条消息) 解决mysql没有mysql.user表的root用户问题_code_mzh的博客-CSDN博客_mysql无user表

(16条消息) 【图解】ERROR 1396 (HY000): Operation CREATE USER failed for ‘root‘@‘172.25.14.%‘_ly_qiu的博客-CSDN博客_error 1396 (hy000): operation create user failed f

(16条消息) MySQL启动和关闭命令_只是甲的博客-CSDN博客_mysql启动命令

(16条消息) Mysql数据库root密码管理四法_weixin_40913898的博客-CSDN博客_mysql数据库root密码