MySQL中基本的用户和权限管理方法小结_Mysql

MySQL 默认有个root用户,但是这个用户权限太大,一般只在管理数据库时候才用。如果在项目中要连接 MySQL 数据库,则建议新建一个权限较小的用户来连接。

在 MySQL 命令行模式下输入如下命令可以为 MySQL 创建一个新用户:

CREATE USER username IDENTIFIED BY 'password';

新用户创建完成,但是此刻如果以此用户登陆的话,会报错,因为我们还没有为这个用户分配相应权限,分配权限的命令如下:

GRANT ALL PRIVILEGES ON *.* TO 'username'@'localhost' IDENTIFIED BY 'password';

授予username用户在所有数据库上的所有权限。

如果此时发现刚刚给的权限太大了,如果我们只是想授予它在某个数据库上的权限,那么需要切换到root 用户撤销刚才的权限,重新授权:

EVOKE ALL PRIVILEGES ON *.* FROM 'username'@'localhost';
GRANT ALL PRIVILEGES ON wordpress.* TO 'username'@'localhost' IDENTIFIED BY 'password';

甚至还可以指定该用户只能执行 select 和 update 命令:

GRANT SELECT, UPDATE ON wordpress.* TO 'username'@'localhost' IDENTIFIED BY 'password';

这样一来,再次以username登陆 MySQL,只有wordpress数据库是对其可见的,并且如果你只授权它select权限,那么它就不能执行delete 语句。

另外每当调整权限后,通常需要执行以下语句刷新权限:

FLUSH PRIVILEGES;

删除刚才创建的用户:

DROP USER username@localhost;

仔细上面几个命令,可以发现不管是授权,还是撤销授权,都要指定响应的host(即 @ 符号后面的内容),因为以上及格命令实际上都是在操作mysql 数据库中的user表,可以用如下命令查看相应用户及对应的host:

SELECT User, Host FROM user;

当然,这个表中还包含很多其它例如用户密码、权限设置等很多内容,操作时候尤其需要小心。

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索mysql
, 权限
用户
mysql 查看用户权限、mysql 用户权限、mysql 删除用户及权限、mysql数据库用户权限、mysql 删除用户权限,以便于您获取更多的相关知识。

时间: 2024-08-01 17:07:11

MySQL中基本的用户和权限管理方法小结_Mysql的相关文章

mysql中Table is read only的解决方法小结_Mysql

如果是使用中的数据库突然出现些类问题 在Linux下面执行下面命令就可以了,当然你要找到你的mysql目录 linux中 复制代码 代码如下: /usr/local/mysql/bin/mysqladmin -u root -p flush-tables windows中 可以在cmd中执行lush-tables 也可以在phpmyadmin 直利用修复表进行修改 如果是导入还原数据 ,所以将该数据库文件夹下面所有表文件chmod成777,chown成"_mysql",但这次问题更严重

mySQL中in查询与exists查询的区别小结_Mysql

一.关于exists查询 explain select * from vendor where EXISTS(select * from area where area_code = vendor_prov_code ) limit 10 以上是一个典型的exists查询的sql语句. 它的作用方式是这样的:每次从vendor表中查询出一条数据,然后将这条数据中的vendor_prov_code值传递到exists查询中进行执行,也就是进行子查询的执行. 如果子查询查到的数据就返回布尔值true

mysql服务器查询慢原因分析与解决方法小结_Mysql

会经常发现开发人员查一下没用索引的语句或者没有limit n的语句,这些没语句会对数据库造成很大的影响,例如一个几千万条记录的大表要全部扫描,或者是不停的做filesort,对数据库和服务器造成io影响等.这是镜像库上面的情况. 而到了线上库,除了出现没有索引的语句,没有用limit的语句,还多了一个情况,mysql连接数过多的问题.说到这里,先来看看以前我们的监控做法 1. 部署zabbix等开源分布式监控系统,获取每天的数据库的io,cpu,连接数 2. 部署每周性能统计,包含数据增加量,i

MySQL定期分析检查与优化表的方法小结_Mysql

定期分析表 ANALYZE [LOCAL | NO_WRITE_TO_BINLOG] TABLE tbl_name [, tbl_name] 本语句用于分析和存储表的关键字分布.在分析期间,使用一个读取锁定对表进行锁定.这对于MyISAM, BDB和InnoDB表有作用.对于MyISAM表,本语句与使用myisamchk -a相当. MySQL使用已存储的关键字分布来决定,当您对除常数以外的对象执行联合时,表按什么顺序进行联合. mysql> analyze table a; +--------

MySQL用户和权限管理

MySQL用户权限表 MySQL的认证是"用户"加"主机"而权限是访问资源对象,MySQL服务器通过权限表来控制用户对数据库的访问,权限表存放在mysql数据库中,由mysql_install_db脚本初始化.存储账户权限信息表主要有:user,db,tables_priv,columns_priv,procs_priv这五张表(5.6之前还有host表,现在已经把host内容整合进user表),五张表其含义分别是: user表 user表时MySQL中最重要的一个

mysql数据库用户和权限管理记录

一.MySQL用户的基本说明: 1.1 用户的基本结构 MySQL的用户:用户名@主机 ■用户名:16个字符以内 ■主机:可以是主机名.IP地址.网络地址等 主机名:www.111cn.net,localhost IP:192.168.0.1 网络地址:172.16.0.0/255.255.0.0 主机还支持通配符:%和_ 172.16.%.% %.111cn.net 注意:对于包含了主机名的用户,MySQL会尝试反解析主机名,此时可能会造成连接非常慢,如果反解析的IP地址与连接点的地址不同,还

mysql下为数据库设置交叉权限的方法_Mysql

这就需要在 MySQL 中对用户权限进行修改,授予需要的权限. 本文将演示这种情况,并给出详细的解决步骤. 本文示例的配置如下: Discuz!数据库名:discuz_7_sc_utf8数据库用户名:discuz_mysql权限:操作 discuz_7_sc_utf8 的全部权限 SupeSite/X-space数据库名:ss_601_xs_401_sc_utf8数据库用户名:ss_mysql权限:操作 ss_mysql 的全部权限 出现情况:安装 SupeSite/X-space 时无法检测到

linux权限-linux给用户root权限的方法

问题描述 linux给用户root权限的方法 修改/etc/passwd的id值和在/etc/sudoers中增加一列用户名 ALL=(ALL:ALL) ALL 这两个方法有上面区别.除了这两个方法还有其他方法吗?为什么ubuntu第二个方法不行 解决方案 sudo adduser <username> sudo 解决方案二: ubuntu里把用户加到sudo组里去就可以了,当然执行命令还需要sudo 解决方案三: sudo adduser sudo 这个就可以解决你的问题 解决方案四: 把你

MySQL中使用Sphinx实现多线程搜索的方法

  这篇文章主要介绍了在MySQL中使用Sphinx实现多线程搜索的方法,修改Sphinx的搜索引擎配置即可,需要的朋友可以参考下 MySQL.Sphinx及许多数据库和搜索引擎中的查询是单线程的.比如说,在一台32个CPU核心.16个磁盘的R910服务器上执行一个查询,它最多只会用到一个核心和一个磁盘.没错,只会使用一个. 如果查询是CPU密集型作业,那么会使用大约3%的整机CPU能力(以上述32核机器为例).如果是磁盘密集型,则大约会使用6%的整机IO能力(也是与上例同样的配置,16个磁盘组