这篇文章给大家汇总介绍了Mysql中新建用户及授权的方法,首先介绍的是作者自己的项目经历,后面附上了参考文章,希望能对大家学习mysql有所帮助。
在项目开发的过程中可能需要开放自己的数据库给别人,但是为了安全不能自己服务器里其他数据库同时开放。那么可以新建一个用户,给该用户开放特定数据库权限
测试环境:Centos 6.3和Mysql 5.3
一、新建用户
代码如下:
//登录MYSQL
@>mysql -u root -p
@>密码
//创建用户
mysql> insert into mysql.user(Host,User,Password) values("localhost","cplusplus",password("cplusplus.me"));
//刷新系统权限表
mysql>flush privileges;
这样就创建了一个名为:cplusplus 密码为:cplusplus.me 的用户。
二、登录测试
1
2
3
4
mysql>exit;
@>mysql -u cplusplus -p
@>输入密码
mysql>登录成功
三、用户授权
1
2
3
4
5
6
7
8
9
10
//登录MYSQL
@>mysql -u root -p
@>密码
//首先为用户创建一个数据库(cplusplusDB)
mysql>
create
database
cplusplusDB;
//授权cplusplus用户拥有cplusplusDB数据库的所有权限。
>
grant
all
privileges
on
cplusplusDB.*
to
cplusplus@localhost identified
by
'cplusplus.me'
;
//刷新系统权限表
mysql>flush
privileges
;
mysql>其它操作
四、部分授权
1
2
3
mysql>
grant
select
,
update
on
cplusplusDB.*
to
cplusplus@localhost identified
by
'cplusplus.me'
;
//刷新系统权限表。
mysql>flush
privileges
;
五、删除用户
1
2
3
4
@>mysql -u root -p
@>密码
mysql>
DELETE
FROM
user
WHERE
User
=
"cplusplus"
and
Host=
"localhost"
;
mysql>flush
privileges
;
六、删除数据库
1
mysql>
drop
database
cplusplusDB;
七、修改密码
1
2
3
4
@>mysql -u root -p
@>密码
mysql>
update
mysql.
user
set
password
=
password
(
'新密码'
)
where
User
=
"cplusplus"
and
Host=
"localhost"
;
mysql>flush
privileges
;
给大家分享一则网友的经验:
1.新建用户
用户root权限登录mysql,新建一个和数据库同名的用户
1
mysql>
INSERT
INTO
mysql.
user
(Host,
User
,
Password
)
VALUES
(
'localhost'
,
'sun'
,
password
(
'sun123456'
));
刷新系统权限表
1
mysql> FLUSH
PRIVILEGES
;
如果报错
1
#1364 – Field ‘ssl_cipher
' doesn'
t have a
default
value
修改MySQL配置文件linux系统为my.cnf,windows系统为my.ini
1
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
修改为
1
sql_mode=NO_ENGINE_SUBSTITUTION
重启MySQL服务
2.为用户授权
1
2
mysql>
GRANT
ALL
ON
sun.*
to
sun@localhost identified
BY
'sun123456'
;
mysql> FLUSH
PRIVILEGES
;
来源:微点阅读 https://www.weidianyuedu.com
版权归原作者 xiaoweids 所有, 如有侵权,请联系我们删除。