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 的用户 。 二、登录测试 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>其它操作 四、部分授权 mysql>grant select,update on cplusplusDB.* to cplusplus@localhost identified by 'cplusplus.me'; //刷新系统权限表 。 mysql>flush privileges; 五、删除用户 @>mysql -u root -p @>密码 mysql>DELETE FROM user WHERE User="cplusplus" and Host="localhost"; mysql>flush privileges; 六、删除数据库 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,新建一个和数据库同名的用户 mysql> INSERT INTO mysql.user(Host,User,Password) VALUES('localhost', 'sun', password('sun123456')); 刷新系统权限表 mysql> FLUSH PRIVILEGES; 如果报错 #1364 – Field ‘ssl_cipher' doesn't have a default value 修改MySQL配置文件linux系统为my.cnf,windows系统为my.ini sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES 修改为 sql_mode=NO_ENGINE_SUBSTITUTION 重启MySQL服务 2.为用户授权 mysql> GRANT ALL ON sun.* to sun@localhost identified BY 'sun123456'; mysql> FLUSH PRIVILEGES; |