MySQL数据库管理(数据库管理与高可用)
创始人
2024-09-26 11:22:28
0次
一、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选项



















相关内容