标签:无法 set root exe bin nat key 验证 修改用户密码
权限存储在mysql库的user, db, tables_priv, columns_priv, and procs_priv这几个系统表中,待MySQL实例启动后就加载到内存中。
用户信息存储在mysql.user表。安装时默认只有超级用户root(如果不创建匿名用户)。
mysql> desc mysql.user;
+------------------------+-----------------------------------+------+-----+----------
| Field | Type | Null | Key | Default
+------------------------+-----------------------------------+------+-----+----------
| Host | char(60) | NO | PRI |
| User | char(32) | NO | PRI |
host+user复合主键。允许访问的客户端+用户名称。所以同名称是允许的。
Host: localhost //表示只能本机访问,远程无法访问。
User: root
创建用户
方法1,直接root创建。不推荐。
方法2,专门创建指令,需要赋予权限。
create user ‘username‘@‘%‘ identified with mysql_native_password by ‘password‘; //%表示允许任何客户端访问。
create user username; //允许任何客户端无密码访问。
赋予权限
grant all privileges on *.* to ‘username‘@‘%‘; //此人成神。权限详情百度。
修改用户密码
set password for ‘username‘@‘%‘ = password(‘password‘);
update mysql.user set password = password(‘password‘) where user = ‘username‘ and host = ‘host‘;
删除用户
drop user ‘username‘@‘host‘;
忘记root密码
C:\Users\Windows7-64>net stop mysql
MySQL 服务正在停止.
MySQL 服务已成功停止。
C:\Users\Windows7-64>cd C:\Program Files (x86)\MySQL\MySQL Server 5.0\bin
C:\Program Files (x86)\MySQL\MySQL Server 5.0\bin>mysqld.exe --skip-grant-tables //跳过验证登陆,满权限,非常危险,你懂的。
C:\Program Files (x86)\MySQL\MySQL Server 5.0\bin>mysql
mysql> update mysql.user set password=password(‘root‘) where user=‘root‘ and host=‘localhost‘;
Query OK, 1 row affected (0.03 sec)
Rows matched: 1 Changed: 1 Warnings: 0
杀进程mysqld.exe
C:\Program Files (x86)\MySQL\MySQL Server 5.0\bin>net start mysql
MySQL 服务正在启动 .
MySQL 服务已经启动成功。
C:\Program Files (x86)\MySQL\MySQL Server 5.0\bin>mysql -uroot -proot
mysql>
标签:无法 set root exe bin nat key 验证 修改用户密码
原文地址:https://www.cnblogs.com/dailycode/p/9434356.html