Bootstrap

MySQL数据库管理(数据库管理与高可用)

一、MySQL数据库介绍

查看库:show databases

系统自带的库;

information_schema:mysql服务器管理所需的一些信息(几个表,表名,权限等;)

mysql:一些认证信息;账号密码等;

performance_schema:数据库运行的时候对资源的消耗记录信息

sys:存放系统相关的一些数据

查看表:先进入到库里面然后在使用show命令查看表;

use mysql; show tables

进入到mysql库 查看表;

查看列:

select * from user\G \G:(格式化输出)

创建库:

create database auth;

创建表:

先使用要创建表的库;use auth;

再创建相应的表;

向表中的制定添加内容;需指定表;及列;且添加的内容要和指定出的列对应;

采用不指定列的方式进行添加内容;且密码列加密;需要调用password函数;

修改中的里的内容;

update users set user_password=password('pwd123') where user_name='zhangsan';

指定列    更改后的内容     加上特定条件;user_name=zhangsan

如果不加特定条件,列中的所有内容都会被改成更改后的内容。

如果改动了用户相关的信息;最好更新一下操作;

删除列中的值;如果不在当前库中,要指定库及表;

如何克隆表:

先使用库,然后创建新表,模拟老的表的格式;

use ku

然后查询新旧表对比;

如何创建临时表;

create temporary table aaa (id int(10) not null auto_increment, name varchar(30) character set utf8 collate utf8_bin not null, primary key (id));

因为采用了自动增长;第一列的值会自动增长;

临时表会断开连接即消失;

补充:授权(是一组权限的集合:角色)授的是一个角色,一个角色对应了多个权限;

授权:

grant select on auth.* to 'zhangsan'@'localhost' identified by '123456';

角色(权限的集合) auth下的所有表; 用户zhangsan; 本地登录; 验证时的密码(123456)

允许用户zhangsan,使用123456的密码验证登录本主机的mysql;允许查看auth下的所有表;

然后查看mysql库中的user表,里面记录了登录用户的信息;

select * from mysql.user\G;

此时就可以退出,用zhangsan的用户进行登陆了;

如果要查看其他库中的数据,就会被告知权限不够;

查看用户的权限:

show grants for 'zhangsan'@'localhost';

一个select角色,包含了两个权限;

取消权限;要在root的账户下进行操作;

revoke all on auth.* from 'zhangsan'@'localhost';

取消用户zhangsan在本机登录的权限;权限为auth.*(auth库中所有表)的权限;

但是还保留了基本的权限;(创建时自带的权限)如果这个权限都不想给该账号,那么就可以把该账号删除掉;

SQL结构化查询语言

DDL数据定义语言:create、drop、alter

DML数据操纵语言:insert、update、delete

DQL数据查询语言:select、show、describe

DCL数据控制语言:grant、revoke、commit(提交事务)、rollback(回滚)

清空表:

delete from biao;

记录日志

不释放空间

要延续标识列的值,不会从头开始。

truncate biao;

不记录日志

释放空间

标识列是从1开始

如果客户端和服务器端不在同一台服务器上必须要加-h选项

;