MySQL添加用户的详细步骤
"MySQL如何添加用户以及权限管理" 在MySQL数据库管理系统中,添加用户和分配权限是系统管理和安全配置的重要环节。本摘要将详细介绍如何在MySQL的不同版本中创建用户以及如何授予、修改和撤销用户的权限。 首先,要添加用户,你需要登录到MySQL服务器。通常,你可以通过命令行客户端连接,例如输入`mysql -u root -p`,然后输入你的密码。一旦你进入MySQL的交互式环境,你需要选择你想要管理用户的数据库,例如: ```sql use mysql; ``` 在较早的MySQL版本(如5.1之前)中,你可以使用`INSERT`语句直接向`user`表添加新用户,但这样做可能会遇到错误,因为某些字段没有默认值,比如`ssl_cipher`。因此,推荐使用`GRANT`语句来创建用户,这样更安全且避免了潜在问题。例如,创建一个名为`mysql`的用户,密码为`mysql`,并允许其从本地主机(`localhost`)连接: ```sql GRANT USAGE ON *.* TO 'mysql'@'localhost' IDENTIFIED BY 'mysql' WITH GRANT OPTION; ``` 如果你需要为用户分配特定的权限,可以使用`GRANT`语句指定。例如,创建一个名为`joe`的用户,允许他从IP地址`10.163.225.87`访问`vtdc.employee`表,并赋予`SELECT`, `INSERT`, `UPDATE`, `DELETE`, `CREATE`, `DROP`权限,密码设置为`123`: ```sql GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP ON vtdc.employee TO 'joe'@'10.163.225.87' IDENTIFIED BY '123'; ``` 如果需要授予所有权限,可以使用`ALL PRIVILEGES`关键字。以下命令将给予`joe`对`vtdc`数据库的所有权限: ```sql GRANT ALL PRIVILEGES ON vtdc.* TO 'joe'@'10.163.225.87' IDENTIFIED BY '123'; ``` 更进一步,如果你想让`joe`具有对整个服务器的全部权限,可以执行: ```sql GRANT ALL PRIVILEGES ON *.* TO 'joe'@'10.163.225.87' IDENTIFIED BY '123'; ``` 请注意,这样的全局权限应该谨慎使用,因为它可能会带来安全隐患。最后,为了使权限更改立即生效,需要刷新权限: ```sql FLUSH PRIVILEGES; ``` 如果要修改或撤销用户的权限,可以使用`REVOKE`语句。例如,要撤销`joe`对`vtdc.employee`表的所有写入权限,可以这样操作: ```sql REVOKE INSERT, UPDATE, DELETE ON vtdc.employee FROM 'joe'@'10.163.225.87'; ``` 同样,要删除用户,可以使用`DROP USER`命令: ```sql DROP USER 'joe'@'10.163.225.87'; ``` 理解并熟练掌握这些命令对于管理MySQL数据库中的用户和权限至关重要,确保了数据的安全性和访问控制的有效性。
1、选择数据表
语句如下:use mysql;
2、在mysql的user表中增加连接用户帐号:
这里不要直接使用INSERT语句添加user记录,使用INSERT可能出现:
ERROR 1364 (HY000): Field 'ssl_cipher' doesn't have a default value错误。不过早期的MYSQL版本笔者倒没出现这个错误,因为天缘一直都是直接修改user表或直接使用INSERT语句完成,后来升级 MYSQL到5.1的时候,发现可能会出现这个错误。
建议使用GRANT语句进行授权,语句如下:
GRANT USAGE ON *.* TO 'mysql'@'localhost' IDENTIFIED BY 'mysql' WITH GRANT OPTION;
上句:
“username”替换为将要授权的用户名,比如clientusr;
“password”替换为clientusr设置的密码;
3、可访问数据表授权
创建好帐户之后,就开始给上面的common user进行数据表授权,步骤3中增加的连接用户默认权限都是“N”的,必须在db表中为该帐户授权,允许其访问专用数据库,当然超级用户就不说了。
使用下面语句:
GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP ON tablename.* TO 'username'@'localhost' IDENTIFIED BY 'password';
下载后可阅读完整内容,剩余2页未读,立即下载
- 粉丝: 0
- 资源: 2
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 李兴华Java基础教程:从入门到精通
- U盘与硬盘启动安装教程:从菜鸟到专家
- C++面试宝典:动态内存管理与继承解析
- C++ STL源码深度解析:专家级剖析与关键技术
- C/C++调用DOS命令实战指南
- 神经网络补偿的多传感器航迹融合技术
- GIS中的大地坐标系与椭球体解析
- 海思Hi3515 H.264编解码处理器用户手册
- Oracle基础练习题与解答
- 谷歌地球3D建筑筛选新流程详解
- CFO与CIO携手:数据管理与企业增值的战略
- Eclipse IDE基础教程:从入门到精通
- Shell脚本专家宝典:全面学习与资源指南
- Tomcat安装指南:附带JDK配置步骤
- NA3003A电子水准仪数据格式解析与转换研究
- 自动化专业英语词汇精华:必备术语集锦