在项目开发的过程中可能需要开放自己的数据库给别人,但是为了安全不能自己服务器里其他数据库同时开放。那么可以新建一个用户,给该用户开放特定数据库权限
测试环境: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 的用户。
二、登录测试
?
mysql>exit; @>mysql -u cplusplus -p @>输入密码 mysql>登录成功 |
三、用户授权
?
//登录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>其它操作 |
四、部分授权
?
123 | mysql> grant select , update on cplusplusDB.* to cplusplus@localhost identified by 'cplusplus.me' ; //刷新系统权限表。 mysql>flush privileges ; |
五、删除用户
?
1234 | @>mysql -u root -p @>密码 mysql> DELETE FROM user WHERE User = "cplusplus" and Host= "localhost" ; mysql>flush privileges ; |
六、删除数据库
?
1 | mysql> drop database cplusplusDB; |
七、修改密码
?
@>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.为用户授权
?
12 | mysql> GRANT ALL ON sun.* to sun@localhost identified BY 'sun123456' ; mysql> FLUSH PRIVILEGES ; |
点击查看更多内容
为 TA 点赞
评论
共同学习,写下你的评论
评论加载中...
作者其他优质文章
正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦