当前位置:首页 > 行业动态 > 正文

MySQL默认数据库表是什么?探索Mysql数据库的默认设置

MySQL 默认的数据库表通常存储在名为 mysql 的系统数据库中。

MySQL 默认数据库表

MySQL 是一个广泛使用的开源关系型数据库管理系统,它由瑞典的 MySQL AB 公司开发,目前由 Oracle 公司维护,MySQL 用 SQL(结构化查询语言)来访问和管理数据,在安装 MySQL 后,系统会自动创建一些默认的数据库和表,这些默认数据库和表对于 MySQL 服务器的正常运行至关重要,本文将详细介绍 MySQL 中的一些默认数据库和表。

MySQL默认数据库表是什么?探索Mysql数据库的默认设置  第1张

1. Information_Schema 数据库

Information_Schema 是 MySQL 中的一个特殊数据库,它存储了关于其他所有数据库的信息,通过查询这个数据库,可以获取到数据库、表、列等的元数据信息。

表名 描述
TABLES 包含数据库中所有表的信息
TABLE_CONSTRAINTS 包含表中的约束信息
TRIGGERS 包含触发器的信息
COLUMNS 包含表中列的信息
STATISTICS 包含表索引的统计信息
SCHEMATA 包含所有数据库的信息

要查看所有数据库中的所有表,可以使用以下 SQL 语句:

SELECT * FROM INFORMATION_SCHEMA.TABLES;

2. MySQL 数据库

MySQL 数据库包含了系统权限表,这些表用于管理用户、权限和其他安全相关的信息,主要表包括:

表名 描述
user 存储用户账户信息以及全局权限
db 存储数据库级别的权限信息
tables_priv 存储表级别的权限信息
columns_priv 存储列级别的权限信息
procs_priv 存储存储过程和函数的权限信息
proxies_priv 存储代理用户的权限信息
host 包含主机信息

要查看所有用户及其权限,可以使用以下 SQL 语句:

SELECT * FROM mysql.user;

3. Performance_Schema 数据库

Performance_Schema 是 MySQL 5.5 版本引入的一个数据库,用于收集数据库服务器的性能参数,它提供了对服务器执行周期内的事件进行监控的工具,主要表包括:

表名 描述
events_waits_current 当前线程等待的事件
events_waits_history 历史线程等待的事件
threads 当前活跃的线程信息
stages_current 当前执行阶段的信息
stages_history 历史执行阶段的信息

要查看当前活跃的线程信息,可以使用以下 SQL 语句:

SELECT * FROM performance_schema.threads;

4. sys 数据库

sys 数据库是从 MySQL 5.7.8 开始引入的一个虚拟数据库,旨在提供一个更简单的方式来获取数据库的性能和配置信息,它基于performance_schema 数据库,但使用起来更加方便,主要表包括:

表名 描述
sys_schemas 提供关于所有模式的信息
sys_tables 提供关于所有表的信息
sys_indexes 提供关于所有索引的信息
sys_columns 提供关于所有列的信息

要查看所有数据库中的所有表,可以使用以下 SQL 语句:

SELECT * FROM sys.sys_tables;

FAQs

Q1: 如何更改 MySQL 默认数据库?

A1: 你可以通过修改配置文件(通常是my.cnfmy.ini)来更改默认数据库,找到[mysqld] 部分并添加或修改以下行:

[mysqld]
defaultstorageengine=INNODB
innodb_buffer_pool_size=1G
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
default_database=your_default_db

然后重启 MySQL 服务以使更改生效。

Q2: 如何备份和恢复 MySQL 数据库?

A2: 你可以使用mysqldump 工具来备份数据库,使用mysql 命令来恢复数据库,以下是一个简单的例子:

备份数据库:

mysqldump u root p your_database > backup.sql

恢复数据库:

mysql u root p your_database < backup.sql

确保在执行这些操作时具有足够的权限,并且目标数据库不存在或者为空。

0