MySQL 库操作

系统数据库

information_schema :虚拟库,不占用磁盘空间,存储的是数据库启动后的一些参数,如用户表信息、列信息、权限信息、

字符信息等

mysql:核心数据库,里面包含用户、权限、关键字等信息。不可以删除

performance_schema:mysql 5.5版本后添加的新库,主要收集系统性能参数,记录处理查询请求时发生的各种事件、锁等

现象 

sys : mysql5.7版本新增加的库,通过这个库可以快速的了解系统的元数据信息,可以方便DBA发现数据库的很多信息,解决性

能瓶颈都提供了巨大帮助

数据库操作

创建数据库

CREATE DATABASE db_name charset utf8; -- 创建一个名为db_name的数据库 并指定编码集为utf8

查看数据库

show databases;  -- 查询当前用户下所有数据库

show create database db_name  -- 查看穿件数据库的信息

select database();  -- 查询当前操作所在的数据库名称

选择数据库

USE db_name

删除数据库

DROP DATABASE db_name;

命名规范

可以由字母、数字、下划线、@、#、$

区分大小写 唯一性

不能使用关键字如: CREATE SELECT

不能单独使用数字

最长128位

用户权限

用户管理

创建用户
create user '用户名'@'IP地址' identified by '密码';
删除用户
drop user '用户名'@'IP地址';
修改用户
rename user '用户名'@'IP地址'; to '新用户名'@'IP地址';

授权管理

show grants for '用户'@'IP地址'  -- 查看权限
grant 权限 on 数据库.表 to  '用户'@'IP地址'  -- 授权
revoke 权限 on 数据库.表 from '用户'@'IP地址'  -- 取消权限

修改密码

方式一:mysqladmin 命令

mysqladmin -u用户名 -p密码 password 新密码

方式二:直接设置用户密码

set password for '用户名'@'IP' = password('新密码');
flush privileges;

方式三:修改mysql库下的user表

5.7版本修改密码方式:
updata mysql.user set authentication_string=password('新密码') where user = '用户名'
flush privileges;      -- 刷新权限

5.6版本
updata mysql.user set password = password('新密码') where user= '用户名'
flush privileges;       -- 刷新权限

忘记密码

#1.首先打开cmd 窗口,关闭mysql服务
    net stop mysql
 
#2.然后跳过权限检查,启动mysql,输入命令
    mysqld --skip-grant-tables
 
#3.重新打开一个新的cmd窗口,启动客户端(已跳过权限检查,可以直接登录)
    mysql
 
#4.直接进来,修改密码
update mysql.user set authentication_string=password('123456') where user='root';
 
#5. 刷新权限
flush privileges;
原文地址:https://www.cnblogs.com/GrandDarkness/p/8489101.html