首页 > 数据库 >mysql 管理员常用命令

mysql 管理员常用命令

时间:2023-01-29 14:44:45浏览次数:40  
标签:test1 常用命令 host 管理员 user mysql 权限 localhost

1、创建用户

create user admin@localhost identified by 'password';

2、赋权

grant privileges ON database.table TO 'username'[@'host'] [with grant 
option]
grant命令说明:
  • priveleges (权限列表),可以是all,表⽰所有权限,也可以是select、update等权限,多个权限之间⽤逗号分开。
  • ON ⽤来指定权限针对哪些库和表,格式为数据库.表名 ,点号前⾯⽤来指定数据库名,点号后⾯⽤来指定表名,*.* 表⽰所有数据库所有表。
  • TO 表⽰将权限赋予某个⽤户, 格式为username@host,@前⾯为⽤户名,@后⾯接限制的主机,可以是IP、IP段、域名以及%,%表⽰任何地⽅。
  • WITH GRANT OPTION 这个选项表⽰该⽤户可以将⾃⼰拥有的权限授权给别⼈。

备注:可以使⽤GRANT重复给⽤户添加权限,权限叠加,⽐如你先给⽤户添加⼀个select权限,然后又给⽤户添加⼀个insert权限,那么该⽤户就同时拥有了select和insert权限。

示例:

grant all on *.* to 'test1'@‘%’;
说明:给test1授权可以操作所有库所有权限,相当于dba

3、修改密码

⽅式1:通过管理员修改密码
SET PASSWORD FOR '⽤户名'@'主机' = PASSWORD('密码');
⽅式2:create user ⽤户名[@主机名] [identi>ied by '密码'];
set password = password('密码');
⽅式3:通过修改mysql.user表修改密码
use mysql;
update user set authentication_string = password('321') where user ='test1' and host = '%';
flush privileges;
注意:   通过表的⽅式修改之后,需要执⾏flush privileges;才能对⽤户⽣效。5.7中user表中的authentication_string字段表⽰密码,⽼的⼀些版本中密码字段是password。

4、查看用户列表

use mysql;
select user,host from user;

5、查看用户权限

show grants for 'username'@'hostIP';
 ## 查看当前用户权限   show grants;

6、撤销用户权限

revoke privileges ON database.table FROM '⽤户名'[@'主机'];
可以先通过show grants命令查询⼀下⽤户对于的权限,然后使⽤revoke命令撤销⽤户 对应的权限,⽰例: mysql> show grants for 'test1'@'localhost'; +--------------------------------------------------------------------+ | Grants for test1@localhost | +--------------------------------------------------------------------+ | GRANT USAGE ON *.* TO 'test1'@'localhost' | | GRANT SELECT (host, user) ON `mysql`.`user` TO 'test1'@'localhost' | +--------------------------------------------------------------------+ 2 rows in set (0.00 sec) mysql> revoke select(host) on mysql.user from test1@localhost; Query OK, 0 rows affected (0.00 sec) mysql> show grants for 'test1'@'localhost'; +--------------------------------------------------------------+ | Grants for test1@localhost | +--------------------------------------------------------------+ | GRANT USAGE ON *.* TO 'test1'@'localhost' | | GRANT SELECT (user) ON `mysql`.`user` TO 'test1'@'localhost' | +--------------------------------------------------------------+ 2 rows in set (0.00 sec) 上⾯我们先通过grants命令查看test1的权限,然后调⽤revoke命令撤销对mysql.user表host字段的查询权限,最后又通过grants命令查看了test1的权限,和预期结果⼀致。

7、删除用户

方法1:

 drop user test1@localhost;

方法2:

delete from user where user='⽤户名' and host='主机';
flush privileges;

 

标签:test1,常用命令,host,管理员,user,mysql,权限,localhost
From: https://www.cnblogs.com/ggborn-001/p/17072621.html

相关文章

  • golang使用sqlx操作MySQL
     packagemain//sqlx示例import("errors""fmt"_"github.com/go-sql-driver/mysql""github.com/jmoiron/sqlx")varDB*sqlx.DBtypeUs......
  • golang连接操作mysql
    golang操作mysqlpackagemainimport("database/sql""fmt""time"_"github.com/go-sql-driver/mysql")//定义一个全局db对象vardb*sql.DB......
  • linux-安装mysql
    1.在/use/local下mkdirmysql  2.切换到mysql文件夹下cdmysql  3.下载mysql wgethttps://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.20-lin......
  • mysql8.0 --mysqldump数据备份
     mysqldump数据,可以把用户名写在配置文件的[mysqldump]中但是这里只能写一个用户名和密码,如果一个数据库里有多个用户和数据库怎么分开备份。1、创建一个备份的用户test......
  • 关于Mysql中str_to_date函数
    Str_To_Date(str,format):提供2个参数,Str是字符串时间,年:月:日时:分:秒的值,format是设置什么日期格式的条件。一般都会自动写代码显示selectStr_To_Date(now(),'%Y-%m-%d......
  • 电脑本地安装不同版本MySQL
    本地已经安装了mysql5.7版本,想测试mysql8版本的用法,想在一台电脑同时配置不同版本的mysql在不同端口号,看起来简单,实现起来其实挺多坑的,总结下实战经验和大家分享下......
  • docker安装Mysql5.7
    Linuxdocker安装Mysql1.docker镜像地址配置vim/etc/docker/daemon.json2.加入配置信息{"registry-mirrors":["https://wghlmi3i.mirror.aliyuncs.com","https://d......
  • MySQL基础:通过SQL对数据库进行CRUD
    MySQL基础今日目标:能通过SQL对数据库进行CRUD文章目录MySQL基础一、MySQL数据模型二、SQL概述2.1SQL简介2.2通用语法2.3SQL分类三、DDL:操作数据库3.1查询3.2创建数据......
  • MySql IN 和 EXISTS 的区别
    一、in关键字确定给定的值是否与子查询或列表中的值相匹配。in在查询的时候,首先查询子查询的表,然后将内表和外表做一个笛卡尔积,然后按照条件进行筛选。所以相对内表比......
  • MySql多字段大表的优化方法
    主从同步+读写分离:这个表在有设备条件的情况下,读写分离,这样能减少很多压力,而且数据稳定性也能提高纵向分表:根据原则,每个表最多不要超过5个索引,纵向拆分字段,将部分......