MySQL5.7数据库的基本操作命令
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数据库的基本操作命令的更多相关文章
- 烂泥:mysql5.5数据库cmake源码编译安装
本文由秀依林枫提供友情赞助,首发于烂泥行天下. 以前也写过一篇有关mysql5.0源码编译的文章,该文章为<烂泥:mysql5.0数据库源码编译安装>.但是MySQL自5.5版本以后,就开 ...
- centos环境下使用percona-xtrabackup对mysql5.6数据库innodb和myisam进行快速备份及恢复
centos环境下使用percona-xtrabackup对mysql5.6数据库innodb和myisam进行快速备份及恢复 有时候我们会碰到这样的业务场景: 1.将大的数据库恢复到本地进行业务测试 ...
- MySQL数据库的基本操作命令
MySQL数据库的基本操作命令 [mysql]mysql 常用建表语句 一.mysql服务操作 net start mysql //启动mysql服务 net stop mysql //停止mysql ...
- Win10安装Mysql5.7数据库
Win10安装Mysql5.7数据库 最近做个demo在自己本地装了一个mysql5.7,有些小麻烦记录一下. 安装环境:系统是 windows 10 1.官网下载 下载地址:https://dev. ...
- mysql5.6数据库双机热备、主从备份
主题:mysql5.6数据库双机热备.主从备份 缘由: 在Web应用系统中,数据库性能是导致系统性能瓶颈最主要的原因之一.尤其是在大规模系统中,数据库集群已经成为必备的配置之一.集群的好处主要有:查询 ...
- 记录CentOS7.X版本下安装MySQL5.7数据库
记录CentOS7.X版本下安装MySQL5.7数据库 设置rpm下载目录在/opt目录下新建一个目录存放mysql cd /opt sudo mkdir mysql12 下载MySQL的源 wg ...
- mysql5.6数据库同步,单向双向同步问题
windows下MySQL5.6实现主从数据库同步数据 mysql5.6数据库同步,单向双向同步问题 一.单向同步 主数据库(mysql5.6)192.168.1.104 从数据库(mysql5. ...
- mysql5.x数据库文件导入mysql5.7数据库出错解决方法
由于mysql5.7 timestamp 类型不允许timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',创建表的是后会报异常 修改mysql5.7的配置文 ...
- Docker安装并运行mysql5.6数据库
1.在/home目录下新建mysql目录 mysql目录中新建三个目录:conf目录.logs目录.data目录,建这些目录的目的是用来挂载docker中的mysql下的目录的. 结果如下: 1.1. ...
随机推荐
- Kubernates之从pod中拷贝文件到宿主机
想从k8s的pod中拷贝文件到宿主机,kubectl 的cp命令,但是网上搜索了下,感觉有点乱,自己记录下. hadoop这个namespace下,有个hadoop-hadoop-yarn-rm-0的 ...
- SpringBoot 跨域 Access-Control-Allow-Origin
跨域(CORS)是指不同域名之间相互访问. 跨域,指的是浏览器不能执行其他网站的脚本,它是由浏览器的同源策略所造成的,是浏览器对于JavaScript所定义的安全限制策略. 只要协议,子域名,主域名, ...
- 【视频版】PDF合并器破解视频教程
无聊顺手录了一下,需要的拿去. 下载地址: 链接:https://pan.baidu.com/s/1TtK1JNzNw0BIl0eRPS_nlw 提取码复制可见:pqgi
- Navicat 8 For Mysql 数据库的导出与加载
方便断断续续的数据库实验课,避免每次都要重新写入数据,可使用Navicat的数据库导出功能 数据库的导出 1.选择要导出的数据库,右键点击“转存SQL文件”选项. 2.填写文件名字,选择位置,点击“保 ...
- [转] ABP框架Web API跨域问题的解决方案
原文地址:https://www.cnblogs.com/farb/p/ABPWebAPICrossDomain.html 1.在Web Api 项目下安装 Microsoft.AspNet.Web ...
- 19 Maven---项目管理工具
1.Maven概念 Maven 的正确发音是[ˈmevən].Maven 在美国是一个口语化的词语,代表专家.内行的意思. 一个对 Maven 比较正式的定义是这么说的:Maven 是一个项目管理工 ...
- CF1016D Vasya And The Matrix
题目描述 我们有一个 n * m 的矩阵,现在我会告诉你每一行和每一列的异或和请求出任意一种可能的矩阵 数据范围 1<=n,m<=100输入数据确保在int范围内 输入输出格式: 输入格式 ...
- typedefine 用法
typedef为C语言的关键字,作用是为一种数据类型定义一个新名字.这里的数据类型包括内部数据类型(int,char等)和自定义的数据类型(struct等). 用法: 变量别名 例如: 单个变量: t ...
- Roads in the Kingdom CodeForces - 835F (直径)
大意: 给定一个基环树, 求删除一条环上的边使得直径最小. 直径分两种情况 环上点延伸的树内的直径 两个环上点的树内深度最大的点匹配 第一种情况直接树形dp求一下, 第二种情况枚举删除的环边, 线段树 ...
- Dubbo学习摘录(一)
Dubbo基于自定义配置,实现自己的Bean. 通常,完成一个自定义配置需要以下步骤: 设计配置属性和JavaBean: 编写XSD文件: 编写NamespaceHandler和BeanDefinit ...