Mysql中新建用户及授权的方法分享
在项目开发的过程中可能需要开放自己的数据库给别人,但是为了安全不能自己服务器里其他数据库同时开放。那么可以新建一个用户,给该用户开放特定数据库权限
测试环境:Centos6.3和Mysql5.3
一、新建用户
//登录MYSQL @>mysql-uroot-p @>密码 //创建用户 mysql>insertintomysql.user(Host,User,Password)values("localhost","cplusplus",password("cplusplus.me")); //刷新系统权限表 mysql>flushprivileges;
这样就创建了一个名为:cplusplus密码为:cplusplus.me的用户。
二、登录测试
mysql>exit; @>mysql-ucplusplus-p @>输入密码 mysql>登录成功
三、用户授权
//登录MYSQL @>mysql-uroot-p @>密码 //首先为用户创建一个数据库(cplusplusDB) mysql>createdatabasecplusplusDB; //授权cplusplus用户拥有cplusplusDB数据库的所有权限。 >grantallprivilegesoncplusplusDB.*tocplusplus@localhostidentifiedby'cplusplus.me'; //刷新系统权限表 mysql>flushprivileges; mysql>其它操作
四、部分授权
mysql>grantselect,updateoncplusplusDB.*tocplusplus@localhostidentifiedby'cplusplus.me'; //刷新系统权限表。 mysql>flushprivileges;
五、删除用户
@>mysql-uroot-p @>密码 mysql>DELETEFROMuserWHEREUser="cplusplus"andHost="localhost"; mysql>flushprivileges;
六、删除数据库
mysql>dropdatabasecplusplusDB;
七、修改密码
@>mysql-uroot-p @>密码 mysql>updatemysql.usersetpassword=password('新密码')whereUser="cplusplus"andHost="localhost"; mysql>flushprivileges;
给大家分享一则网友的经验:
1.新建用户
用户root权限登录mysql,新建一个和数据库同名的用户
mysql>INSERTINTOmysql.user(Host,User,Password)VALUES('localhost','sun',password('sun123456'));
刷新系统权限表
mysql>FLUSHPRIVILEGES;
如果报错
#1364–Field‘ssl_cipher'doesn'thaveadefaultvalue
修改MySQL配置文件linux系统为my.cnf,windows系统为my.ini
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
修改为
sql_mode=NO_ENGINE_SUBSTITUTION
重启MySQL服务
2.为用户授权
mysql>GRANTALLONsun.*tosun@localhostidentifiedBY'sun123456'; mysql>FLUSHPRIVILEGES;