MySQL5.7中添加用户,新建数据库,用户授权,删除用户,修改密码(注意每行后边都跟个;表示一个命令语句结束):

登录MySQL

mysql -u root -p

Enter password:密码

1.列出所有数据库

show database;

2.切换数据库

use 数据库名;

3.列出某个数据库所有表

use 数据库名;

show tables;

4.查询数据

use 数据库名;

select 字段名(多个字段用“,”隔开,*表示所有字段) from 数据表名;

也可以用 select 字段名(多个字段用“,”隔开,*表示所有字段) from 数据库名.数据表名;

5.显示数据表结构

describe 数据表名;     # 也可以简写为 desc 数据表名;

也可以用 describe 数据库名.数据表名;

6.删除数据库和数据表

drop database 数据库名;

drop table 数据表名;

7.新建用户

创建用户:

insert into mysql.user(Host,User,Password) values("localhost","zhangsan",password("123456"));

需要注意的是,如上,用insert方法向MySQL5.7中添加用户出现 ERROR 1364 (HY000): Field 'ssl_cipher' doesn't have a default value 的错误,MySQL5.7为了数据库的安全默认是禁止这种方法来创建用户的,所以应该避免用这种插入的方式来创建用户,正确的创建用户的方式是:

无密码:create user '用户名'@'localhost';

有密码:create user '用户名'@'localhost' identified by '密码';

create user '用户名'@'localhost' identified by '密码';  # 本地登录

create user '用户名'@'%' identified by '密码';            # 远程登录

exit    # 退出数据库

mysql -u 用户名 -p    # 测试是否创建成功

8.使用GRANT命令为账户授权(需在root账户下操作)

GRANT命令的常见格式以及解释
命令 作用
GRANT 权限 ON 数据库.表名称 TO 用户名@登录主机 对某个特定数据库中的特定表给予授权
GRANT 权限 ON 数据库.* TO 用户名@登录主机 对某个特定数据库中的所有表给予授权
GRANT 权限 ON *.* TO 用户名@登录主机 对所有数据库及所有表给予授权
GRANT 权限1,权限2 ON 数据库.* TO 用户名@登录主机 对某个数据库中的所有表给予多个授权
GRANT ALL PRIVILEGES ON *.* TO 用户名@登录主机   对所有数据库及所有表给予全部授权(需谨慎操作)

注意:授权的同时如需创建用户并设置用户密码,用如下的命令

grant 权限 on 数据库.* to '用户名'@'登录主机' identified by '密码';

首先为用户创建一个数据库(testDB):

create database testDB;

如果需要指定数据库的字符编码为utf8,用如下命令:

create database testDB default charset utf8 collate utf8_general_ci;

(1)授权zhangsan用户拥有testDB数据库的所有权限(某个数据库的所有权限):

grant all privileges on testDB.* to 'zhangsan'@'localhost';

flush privileges;     # 刷新系统权限表

show grants for 'zhangsan'@'localhost';      # 查看账户 zhangsan 的权限

(2)如果想指定部分权限给zhangsan用户,可以这样来写:

grant select,update on testDB.* to 'zhangsan'@'localhost';

flush privileges;     # 刷新系统权限表

(3)授权zhangsan用户拥有所有数据库的某些权限:

grant select,delete,update,create,drop on *.* to 'zhangsan'@'%';       # 注意:需要mysql.user表中zhangsan账户对应的Host的字段值为“%”,才能正确执行此命令

# zhangsan用户对所有数据库都有 select,delete,update,create,drop 权限。

# @'%' 表示对所有非本地主机授权,不包括localhost。

# @'localhost' 表示对所有本地主机授权。

9.使用REVOKE命令取消账户权限

revoke select on *.* from 'zhangsan'@'localhost';       # 取消zhangsan对所有数据库的查询权限

revoke all on testDB.* from 'zhangsan'@'localhost';     # 取消zhangsan对testDB数据库的所有权限

show grants for 'zhangsan'@'localhost';      # 查看账户 zhangsan 的权限

10.删除用户

delete from user where User='zhangsan' and Host='localhost';

flush privileges;

或者也可以使用如下命令,删除账户及权限

drop user '用户名'@'%';

drop user '用户名'@ 'localhost';

11.修改指定用户密码

update mysql.user set authentication_string=password('新密码') where User='zhangsan' and Host='localhost';

flush privileges;

注意:在 MySQL5.7 中 user 表已经不再使用 password 来作为密码的字段了而改成了authentication_string。

MySQL5.7数据库的基本操作命令的更多相关文章

  1. 烂泥:mysql5.5数据库cmake源码编译安装

    本文由秀依林枫提供友情赞助,首发于烂泥行天下. 以前也写过一篇有关mysql5.0源码编译的文章,该文章为<烂泥:mysql5.0数据库源码编译安装>.但是MySQL自5.5版本以后,就开 ...

  2. centos环境下使用percona-xtrabackup对mysql5.6数据库innodb和myisam进行快速备份及恢复

    centos环境下使用percona-xtrabackup对mysql5.6数据库innodb和myisam进行快速备份及恢复 有时候我们会碰到这样的业务场景: 1.将大的数据库恢复到本地进行业务测试 ...

  3. MySQL数据库的基本操作命令

    MySQL数据库的基本操作命令 [mysql]mysql 常用建表语句 一.mysql服务操作 net start mysql //启动mysql服务 net stop mysql //停止mysql ...

  4. Win10安装Mysql5.7数据库

    Win10安装Mysql5.7数据库 最近做个demo在自己本地装了一个mysql5.7,有些小麻烦记录一下. 安装环境:系统是 windows 10 1.官网下载 下载地址:https://dev. ...

  5. mysql5.6数据库双机热备、主从备份

    主题:mysql5.6数据库双机热备.主从备份 缘由: 在Web应用系统中,数据库性能是导致系统性能瓶颈最主要的原因之一.尤其是在大规模系统中,数据库集群已经成为必备的配置之一.集群的好处主要有:查询 ...

  6. 记录CentOS7.X版本下安装MySQL5.7数据库

    记录CentOS7.X版本下安装MySQL5.7数据库  设置rpm下载目录在/opt目录下新建一个目录存放mysql cd /opt sudo mkdir mysql12  下载MySQL的源 wg ...

  7. mysql5.6数据库同步,单向双向同步问题

    windows下MySQL5.6实现主从数据库同步数据   mysql5.6数据库同步,单向双向同步问题 一.单向同步 主数据库(mysql5.6)192.168.1.104 从数据库(mysql5. ...

  8. mysql5.x数据库文件导入mysql5.7数据库出错解决方法

    由于mysql5.7 timestamp 类型不允许timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',创建表的是后会报异常 修改mysql5.7的配置文 ...

  9. Docker安装并运行mysql5.6数据库

    1.在/home目录下新建mysql目录 mysql目录中新建三个目录:conf目录.logs目录.data目录,建这些目录的目的是用来挂载docker中的mysql下的目录的. 结果如下: 1.1. ...

随机推荐

  1. teamviewer破解版

    简介 TeamViewer是一个能在任何防火墙和NAT代理的后台用于远程控制的应用程序,桌面共享和文件传输的简单且快速的解决方案.为了连接到另一台计算机,只需要在两台计算机上同时运行 TeamView ...

  2. jmap使用

    今天写的服务在处理大文件是出现Java heap space错误,因此结识了jmap jmap是JDK自带的一个工具,可以做jvm性能调优 可以生成dump文件,查询finalize执行队列.Java ...

  3. 【神经网络与深度学习】【计算机视觉】YOLO2

    YOLO2 转自:https://zhuanlan.zhihu.com/p/25167153?refer=xiaoleimlnote 本文是对 YOLO9000: Better, Faster, St ...

  4. c+11 std::condition_variable and mutex

    multiple threads synchronization primitive: 多线程同步语义 多线程的同步语义是多线程编程的核心,线程之间通过同步语义进行通信,实现并发.C++ JAVA 中 ...

  5. LeetCode 872. 叶子相似的树(Leaf-Similar Trees)

    872. 叶子相似的树 872. Leaf-Similar Trees 题目描述 请考虑一颗二叉树上所有的叶子,这些叶子的值按从左到右的顺序排列形成一个叶值序列. LeetCode872. Leaf- ...

  6. 【Linux】守护进程的定义,作用,创建流程

    本文内容: 1.守护进程的定义 2.守护进程的作用 3.守护进程的创建过程 一.守护进程的定义 1.守护进程是脱离于终端并且在后台运行的进程 2.守护进程脱离终端是为了避免在执行过程中的信息在任何终端 ...

  7. [转帖]GNU, Free Software and Open Source 自由软件与开源软件

    GNU, Free Software and Open Source 自由软件与开源软件 https://blog.csdn.net/icycolawater/article/details/7792 ...

  8. Java开发笔记(一百三十)Swing的选择框

    不管是AWT还是Swing,都把选择框分成两类:复选框和单选按钮,这两类控件无论是外观上还是功能上均有显著差异.例如,在外观方面,复选框是在方框内打勾,而单选按钮是在圆圈内画圆点:在功能方面,复选框允 ...

  9. SQL——JOIN(连接)

    JOIN基于多个表之间的共同字段,把多个表的行结合起来. 一.INNER JOIN 关键字 INNER JOIN关键字:在表中存在至少一个匹配时返回行. 语法如下: SELECT 列名1,列名2... ...

  10. Numpy中矩阵和数组的区别

    矩阵(Matrix)和数组(Array)的区别主要有以下两点: 矩阵只能为2维的,而数组可以是任意维度的. 矩阵和数组在数学运算上会有不同的结构. 代码展示 1.矩阵的创建 采用mat函数创建矩阵 c ...