注
:
操作前先备份
(没错,我一顿神操作,然后没备份,之前的网站崩了。。。。。。)
1,使用root用户连接数据库
mysql -h
服务器地址
-u
root
-p
密码
2,添加新用户
create user ‘
用户名
‘@‘
IP地址
’ identified by ‘
密码
’
IP地址的表示方式:
% 表示用户可以从任何地址连接到服务器
localhost localhost不会被解析成IP地址,直接通过UNIXsocket连接
指定IP 表示用户只能从此IP连接到服务器
127.0.0.1 会通过TCP/IP协议连接,并且只能在本机访问;
举个栗子:
如图:创建了一个用户【zhao】,可以在任何地址连接,密码为【123456】
3,给新建用户授权
grant
权限,权限
on
库.表
to ‘
用户名
‘
例:
给【zhao】用户只授予了查询【demo】数据库的权限,
多个权限用【,】分开,
库.表 :
*.* :表示所有数据库及所有表
库.* :表示仅可以操作本库及下的所有表
权限 | 说明 |
---|---|
create | 允许创建新的数据库和表 |
drop | 允许删除现有数据库、表和视图 |
alter | 允许修改权限或重命名表 |
delete | 允许从表中或数据库中删除行 |
index | 允许创建或删除索引 |
insert | 允许在表和数据库中插入行 |
select | 允许在表和数据库这查询行 |
update | 允许在表和数据空中更新行 |
show databases | 允许使用SHOW DATABASES来查看所有数据库列表,如果没有这个权限则只能查看规定数据库 |
all | 所有权限 |
。。。。。。。。。还有一些,自行百度 或者
搜的一些权限列表
4,查看新建的用户:
select
host,user
from
mysql.user
5,查看用户的权限:
show grants for ‘
用户名
‘
6,修改密码:
update mysql.user set password = password(‘
新密码
‘) where user = ‘
用户名
‘;
如图:修改用户【zhao】的密码为【112233】
7,修改用户名及IP地址
rename user ‘
用户名
‘@’
地址
‘ to ‘
新用户名
‘@’
新地址
‘
如图:修改用户【zhao】及地址为【li】和localhost
8,删除权限:
revoke
权限
on
库.表
from ‘
用户名
‘;
如图,创建用户【zhao】时候,只给了select 权限,删除之后,没权限了。。。。
9,删除用户:
drop user ‘
用户名
‘@’
IP地址
‘
或:
delete from mysql.user where user=’
用户名
‘;
10,操作完记得刷新下:
flush privileges;
mysql 新设置用户或更改密码后需用flush privileges刷新MySQL的系统权限相关表,否则会出现拒绝访问,还有一种方法,就是重新启动mysql服务器,来使新设置生效
另外分享个不错的文章