day55-mysql-用户权限、修改秘密、忘记密码

1.用户权限:新创建的用户没有库,如果想让新用户访问我的库,必须给它授权才可以。我在使用的navicat要关闭新用户的连接才可以授权给它。
1.创建用户
create user 'hanshe'@'127.0.0.1' identified by ''; -- 创建用户
2.移除用户
drop user 'hanshe'@'127.0.0.1' ; -- 移除用户(要先关闭连接)
3.修改用户
RENAME user 'hanshe'@'127.0.0.1' to 'hanxiaoqiang'@'192.168.0.1' -- 修改用户
4.查看授权
show GRANTS for 'hanshe'@'127.0.0.1';-- 查看用户权限
5.授权
GRANT select,update ON db1.info to 'hanshe'@'127.0.0.1';-- 授权
GRANT all PRIVILEGES on *.* to 'hanshe'@'127.0.0.1'; -- 授权所有权限,*.* 表示所有库所有表。
6.移除授权
REVOKE all PRIVILEGES on *.* FROM 'hanshe'@'127.0.0.1'; -- 移除权限
7.主机开放权限给新用户: 1、create user 'test'@'%' identified by ''; 主机创建新用户'test','%'表示所有IP地址(其他电脑)都可以访问主机,密码是123. GRANT all PRIVILEGES on *.* to 'test'@'%'; FLUSH PRIVILEGES; -- 刷新权限
2、用户连接主机的方法:点连接--MySQL--连接名随便输(例如输入test1),主机名或IP地址要输入主机的ip地址192.168_____,用户名test,密码123--连接测试。
(用户电脑只有一个连接名test1) 3、为了便于测试,需要本机连接本机,上面的'%'修改为'127.0.0.1'。
点连接--MySQL--连接名随便输(例如输入test1,本机已有的连接名是focus),主机名或IP地址要输入localhost或127.0.0.1,用户名test,密码123--连接测试。
连接成功之后,会有两个连接名:focus 和 test1,当你在test1当中修改数据之后,focus的数据也一样被修改。意味着用户修改了主机mysql数据库的数据。
4、用户root是在安装mysql的时候设置的,它拥有所有权限,包括grant授权。
而新用户获取了主机开放的所有权限(除了grant授权),只能使用它,无法把它复制给别的用户使用。 8.localhost、127.0.0.1 和 本机IP之间的区别:
1、localhost等于127.0.0.1,不过localhost是域名,127.0.0.1是IP地址。
2、localhost和127.0.0.1不需要联网,都是本机访问。
3、本机IP需要联网,本机IP是本机或外部访问, 本机 IP 就是本机对外放开访问的IP地址,这个网址就是与物理网卡绑定的IP地址。 2.修改密码:我通过cmd操作方法一二三发生错误:connect to server at 'localhost' failed,所以无法修改密码。
1.方式一:使用 mysqladmin 命令
mysqladmin -u用户名 -p原密码 password 新密码; 2.方式二:直接设置密码
set password for 'hanshe'@'%' = password('') 3.方式三: 直接修改
update mysql.user set password = password('') where user ='hanshe' and host ='%' flush PRIVILEGES;
5.7 版本
update mysql.user set authentication_string = password('') where user ='test' and host ='%'; flush PRIVILEGES;
4.方式四: 可以使用navicat里面拥有修改权限的用户(例如root)连接mysql去修改其他用户的密码。 3.忘记密码:下面破解方法只限于本机,其他电脑是无法做到的。我的电脑报错,无法操作。
在忘记root密码的时候,可以这样: #1.首先打开cmd 窗口,关闭mysql服务:net stop mysql #2.然后跳过权限检查,启动mysql,输入命令:mysqld --skip-grant-tables #3.重新打开一个新的cmd窗口,启动客户端(已跳过权限检查,可以直接登录):mysql #4.直接进来,修改密码:update mysql.user set authentication_string=password('') where user='root'; #5. 刷新权限:flush privileges;
上一篇:mysql学习------二进制日志管理


下一篇:Codeforces Round #148 (Div. 2)