Mysql中新建用户及授权的方法分享
程序员文章站
2023-12-20 12:20:28
在项目开发的过程中可能需要开放自己的数据库给别人,但是为了安全不能自己服务器里其他数据库同时开放。那么可以新建一个用户,给该用户开放特定数据库权限
测试环境:centos...
在项目开发的过程中可能需要开放自己的数据库给别人,但是为了安全不能自己服务器里其他数据库同时开放。那么可以新建一个用户,给该用户开放特定数据库权限
测试环境: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;