1. 用户
1.1 用户信息
在mysql数据库下,这个库里面会自带各种表

里面user表里面,就记录了用户信息

- **
host:**用户可以从哪个主机登录,localhost表明只能从本机登录 - **
user:**用户名 authentication_string:password函数加密之后的
所谓的新增、删除、修改用户信息,就是在这个表里面增删查改
1.2 创建用户
语法:
create user '用户名'@'登录主机/IP' identified by '密码'
本机登录:


任意主机登录:
由于设置的是localhost,所以只能本地登录
如果想设置任意主机登录,采用%
create user 'pyh'@'%' identified by '111222';
Windows登录:

1.3 删除用户
语法:
drop user '用户名'@'主机名'

1.4 修改密码
语法
自己设置自己的密码:
set password=password('新密码');
root用户修改指定用户密码:
set password for '用户名'@'主机名'=password('新密码');
2. 数据库权限
2.1 给用户权限
新创建的用户,是没有任何权限的,需要给用户授权
语法:
grant 权限列表 on 库.对象名 to '用户名'@'登录主机' [identified by '密码']

查看赋予了哪些权限:
mysql> show grants for 'pyh'@'localhost';
+--------------------------------------------------------------+
| Grants for pyh@localhost |
+--------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'pyh'@'localhost' |
| GRANT ALL PRIVILEGES ON `rootDB`.`user` TO 'pyh'@'localhost' |
+--------------------------------------------------------------+
2 rows in set (0.00 sec)
这里给了所有权限
2.2 回收权限
语法:
revoke 权限列表 on 库.对象名 from '用户名'@'登陆位置';

再次查看赋予的权限:
mysql> show grants for 'pyh'@'localhost';
+-----------------------------------------------------------------------------------------------------------------------------------------------+
| Grants for pyh@localhost |
+-----------------------------------------------------------------------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'pyh'@'localhost' |
| GRANT SELECT, UPDATE, DELETE, CREATE, DROP, REFERENCES, INDEX, ALTER, CREATE VIEW, SHOW VIEW, TRIGGER ON `rootDB`.`user` TO 'pyh'@'localhost' |
+-----------------------------------------------------------------------------------------------------------------------------------------------+
2 rows in set (0.00 sec)
insert权限被回收
移除所有权限:

3. 跳过权限验证
如果忘记root的密码,在/etc/my.cnf配置文件下,可添加skip-grant-tables
然后重启mysql服务即可
systemctl stop mysqld
systemctl start mysqld
之后登录就可以跳过权限验证(不是很建议这样做)









