MySQL数据库使用——MySQL用户管理
来源:互联网 发布:linux 修改22端口 编辑:程序博客网 时间:2024/05/21 00:16
- 文件版本说明
- MySQL简介
- 下载安装
- linux环境安装
- window环境安装
- 用户登录与登出
- 创建用户CREATE USER
- 修改用户名与密码SET
- 删除用户DROP
- 用户权限管理
- 赋予用户权限GRANT
- 显示用户权限SHOW GRANTS
- 回收用户权限REVOKE
- 保存设置FLUSH PRIVILEGES
- 权限限制与远程访问限制
- 创建对应用户
文件版本说明
MySQL简介
百度百科:https://baike.baidu.com/item/mySQL/471251?fr=aladdin
MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件。MySQL是一种关系数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。MySQL所使用的 SQL 语言是用于访问数据库的最常用标准化语言。MySQL 软件采用了双授权政策,分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择 MySQL 作为网站数据库。由于其社区版的性能卓越,搭配 PHP 和 Apache 可组成良好的开发环境。
下载安装
linux环境安装
1、 安装MySQL服务端:
sudo apt-get install mysql-server
2、 安装MySQL客户端:
apt-get isntall mysql-client
3、 安装客户端关联库
sudo apt-get install libmysqlclient-dev
window环境安装
在官网下载MySQL版本,如下图所示。
选择安装相应的功能以及MySQL Server,如下图所示。
在设置网络端口时默认选择如下图所示。
设置root密码,设置完之后还可以添加用户,如下图所示。
除了用户登录与登出以外,其他的用户操作例如修改用户名和密码都需要赋予操作数据库mysql中的user表权限才能使用,只能是系统管理员用户才能使用。
用户登录与登出
登录SQL命令:
mysql -uusername -p
接着输入该用户的密码即可。
登出SQL命令:
exit
创建用户:CREATE USER
登录系统用户之后,就可以使用SQL命令操作数据库
创建用户SQL命令:CREATE USER
create user 'username'@'localhost' identified by 'password';
@后面的’localhost’即为本地的端口。
执行结果
mysql> create user 'zxsql'@'localhost' identified by '123456';Query OK, 0 rows affected (0.08 sec)mysql>
查看创建用户的结果
mysql> select user from mysql.user where user = 'zxsql';+-------+| user |+-------+| zxsql |+-------+1 row in set (0.00 sec)mysql>
修改用户名与密码:SET
SQL命令:
set password for 'username'@'localhost'=PASSWORD('123456');
这里调用PASSWORD()接口来使密码进行加密。
示例:修改用户zxsql密码为123456
mysql> set password for 'zxsql'@'localhost'=PASSWORD('123456');Query OK, 0 rows affected, 1 warning (0.00 sec)mysql>
删除用户:DROP
SQL命令:
drop user 'username'@'localhost';
用户权限管理
赋予用户权限:GRANT
用户用到的SQL权限为
ALL : 所有可用的权限CREATE : 创建库、表和索引LOCK_TABLES : 锁定表ALTER : 修改表DELETE : 删除表INSERT : 插入表或列UPDATE : 更新表SELECT : 检索表或列的数据CREATE_VIEW : 创建视图SHOW_DATABASES : 列出数据库DROP : 删除库、表和视图
SQL命令:
grant <privileges> on <database>.<table> to 'username'@'localhost';
privileges :上述列出来的权限名database :需要赋予的数据库名table :需要赋予的数据库里面的表明
赋予多个权限需要用逗号“,”分隔。
示例:赋予用户zxsql在数据库zx_mysql的所有权限;
SQL命令:
grant ALL on zx_mysql.* to 'zxsql'@'localhost';
mysql> grant all on zx_mysql.* to 'zxsql'@'localhost';Query OK, 0 rows affected (0.00 sec)mysql>
显示用户权限SHOW GRANTS
SQL命令:
show grants for 'username'@'localhost';
当用户普通用户查看自己的权限是不需要输入名字,直接输入:
show grants;
mysql> show grants for 'zxsql'@'localhost';+---------------------------------------------------------------+| Grants for zxsql@localhost |+---------------------------------------------------------------+| GRANT USAGE ON *.* TO 'zxsql'@'localhost' || GRANT ALL PRIVILEGES ON `zx_mysql`.* TO 'zxsql'@'localhost' |+---------------------------------------------------------------+2 rows in set (0.00 sec)mysql>
回收用户权限:REVOKE
SQL命令:
revoke <privileges> on <database>.<table> from 'username'@'localhost';
示例:回收用户zxsql在数据库zx_mysql的删除表权限;
SQL命令:DELETE
revoke DELETE on zx_mysql.* from 'zxsql'@'localhost';
mysql> revoke DELETE on zx_mysql.* from 'zxsql'@'localhost';Query OK, 0 rows affected (0.00 sec)mysql> show grants for 'zxsql'@'localhost';+-------------------------------------------------------+| Grants for zxsql@localhost |+-------------------------------------------------------+| GRANT USAGE ON *.* TO 'zxsql'@'localhost' || GRANT SELECT, INSERT, UPDATE, CREATE, DROP, || REFERENCES, INDEX, ALTER, CREATE TEMPORARY TABLES, || LOCK TABLES, EXECUTE, CREATE VIEW, SHOW VIEW, || CREATE ROUTINE, ALTER ROUTINE, EVENT, || TRIGGER ON `zx_mysql`.* TO 'zxsql'@'localhost' |+-------------------------------------------------------+2 rows in set (0.00 sec)mysql>
保存设置:FLUSH PRIVILEGES
设置权限可以通过修改数据库的形式进行设置,设置完毕之后需要刷新更改的权限设置。
修改权限数据库
mysql> select Db from db where user = 'zxsql';+----------+| Db |+----------+| zx_mysql |+----------+1 row in setmysql>
SQL命令:
FLUSH PRIVILEGES;
mysql> flush privileges;Query OK, 0 rows affected (0.06 sec)mysql>
权限限制与远程访问限制
一个数据库对应一个项目,并且指派特定的用户去访问数据库,其中分为管理员用户,和访问用户。
管理员用户:管理整个项目的数据库,包括表的创建,表中字段的创建。只能本地访问。普通用户 :只能修改表中字段的数据内容,或者添加具体的数据内容。可以通过远程访问。
创建对应用户
管理员用户只能本地去登录访问,访问用户允许远程访问。
mysql> create user 'zxpro-admin'@'localhost' identified by 'qwerty';Query OK, 0 rows affectedmysql> create user 'zxpro-users'@'%' identified by '123456';Query OK, 0 rows affectedmysql>
赋予权限
mysql> grant ALL on zx_mysql.* to 'zxpro-admin'@'localhost';Query OK, 0 rows affectedmysql> grant SELECT,INSERT,UPDATE on zx_mysql.* to 'zxpro-users'@'%';Query OK, 0 rows affectedmysql>
阅读全文
0 0
- MySQL数据库使用——MySQL用户管理
- MySQL 数据库用户管理
- MySQL 数据库用户管理
- Mariadb(mysql)数据库管理系统-03——用户管理
- MySQL数据库使用——MySQL数据库管理
- MySQL数据库使用——MySQL表管理
- MySQL数据库使用——MySQL字段管理
- CentOS Pureftpd 使用Mysql数据库进行管理用户
- Mysql数据库的用户帐号管理
- MySQL数据库的用户管理相关配置
- mysql数据库登录及用户管理
- 基于opensips mysql数据库用户管理
- mysql管理数据库用户和访问权限
- 使用phpMyAdmin管理MySQL数据库
- 使用MySQL管理Linux用户认证
- mysql安装使用--2 用户管理
- 【mysql】MySQL用户账户管理
- MySQL笔记-mysql用户管理
- c# InvokeRequired 解决跨线程访问UI控件的问题
- 计算机语言种类
- [Beijing wc2012]最多的方案
- 打开Java VisualVM
- Unity 安卓 AvProVideo 运行设置视频路径
- MySQL数据库使用——MySQL用户管理
- TOJ3455 Diamonds
- 基于java的电话本管理系统
- 解决Unity Vertex Shader 渲染丢失的问题
- deepmind_lab 运行以 _pk3结尾的文件的依赖的东西
- CentOS部署java项目环境
- SQL优化
- Deep Forest:一种深度神经网络的替代模型架构
- Arrays.binarySearch()返回值问题