Mysql中新建用户及授权的方法分享

来源:互联网 发布:斧声烛影 知乎 编辑:程序博客网 时间:2024/06/05 03:08

在项目开发的过程中可能需要开放自己的数据库给别人,但是为了安全不能自己服务器里其他数据库同时开放。那么可以新建一个用户,给该用户开放特定数据库权限

测试环境: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>createdatabase cplusplusDB;
//授权cplusplus用户拥有cplusplusDB数据库的所有权限。
>grantall privileges on cplusplusDB.* tocplusplus@localhost identified by'cplusplus.me';
//刷新系统权限表
mysql>flush privileges;
mysql>其它操作

四、部分授权

?
1
2
3
mysql>grantselect,updateon cplusplusDB.* to cplusplus@localhost identifiedby 'cplusplus.me';
//刷新系统权限表。
mysql>flush privileges;

五、删除用户

?
1
2
3
4
@>mysql -u root -p
@>密码
mysql>DELETEFROM user WHERE User="cplusplus"and Host="localhost";
mysql>flush privileges;

六、删除数据库

?
1
mysql>dropdatabase cplusplusDB;

七、修改密码

?
1
2
3
4
@>mysql -u root -p
@>密码
mysql>updatemysql.user set password=password('新密码')where User="cplusplus"and Host="localhost";
mysql>flush privileges;

给大家分享一则网友的经验:

1.新建用户

用户root权限登录mysql,新建一个和数据库同名的用户

?
1
mysql> INSERTINTO mysql.user(Host,User,Password)VALUES('localhost','sun', password('sun123456'));

刷新系统权限表

?
1
mysql> FLUSH PRIVILEGES;

如果报错

?
1
#1364 – Field ‘ssl_cipher' doesn't have adefault value

修改MySQL配置文件linux系统为/etc/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> GRANTALL ON sun.* to sun@localhost identifiedBY 'sun123456';
mysql> FLUSH PRIVILEGES;
0 0
原创粉丝点击