DATABASE()
函数获取当前选定的数据库名称。MySQL数据库位置及数据库对象位置函数
一、MySQL数据库位置
1、通过配置文件查找
Linux:/etc/mysql/my.cnf
或/etc/my.cnf
Windows: 通常在MySQL安装目录下的my.ini
参数: 查找datadir
参数,
[mysqld] datadir = /var/lib/mysql
2、通过SQL查询查找
执行以下命令查看数据目录:
SHOW VARIABLES LIKE 'datadir';
输出示例:
+----------------+-----------------+ | Variable_name | Value | +----------------+-----------------+ | datadir | /var/lib/mysql/ | +----------------+-----------------+
3、通过操作系统命令查找
使用ps命令:
ps aux | grep mysqld
输出示例:
mysql 1234 0.1 1.2 123456 7890 ? Ssl 10:00 0:00 /usr/sbin/mysqld --datadir=/var/lib/mysql
使用lsof命令:
sudo lsof -u mysql | grep mysql
二、数据库文件结构
1、数据库目录
每个数据库都有一个独立的目录,名称与数据库名相同,包含该数据库的所有表和索引文件。
数据库testdb
对应目录为/var/lib/mysql/testdb
。
2、表文件
InnoDB存储引擎: 表文件扩展名为.ibd
,位于数据库目录下。
MyISAM存储引擎: 表文件扩展名为.frm
(表结构)、.MYD
(表数据)和.MYI
(表索引)。
3、日志文件
错误日志: 通常位于/var/log/mysql/
,文件名为mysql.err
。
事务日志: InnoDB的事务日志文件通常扩展名为.ib_logfile0
和.ib_logfile1
。
三、数据库对象位置函数
1、SHOW语句
列出所有数据库:
SHOW DATABASES;
查看数据库DDL:
SHOW CREATE DATABASE db_name;
列出默认数据库的所有表:
SHOW TABLES;
列出指定数据库的所有表:
SHOW TABLES FROM db_name;
查看表的描述性信息:
SHOW TABLE STATUS; SHOW TABLE STATUS FROM db_name;
查看表的DDL:
SHOW CREATE TABLE tbl_name;
查看列信息:
SHOW COLUMNS FROM tbl_name;
查看索引信息:
SHOW INDEX FROM tbl_name;
2、INFORMATION_SCHEMA数据库
获取数据库列表:
SELECT schema_name FROM information_schema.schemata;
获取表列表:
SELECT table_name, table_schema, table_type FROM information_schema.tables WHERE table_schema = 'db_name';
获取列信息:
SELECT column_name, data_type, is_nullable, column_default FROM information_schema.columns WHERE table_schema = 'db_name' AND table_name = 'tbl_name';
获取索引信息:
SELECT index_name, column_name, non_unique FROM information_schema.statistics WHERE table_schema = 'db_name' AND table_name = 'tbl_name';
3、命令行程序
mysqlshow:
mysqlshow --user=root --password=[password]
列出所有数据库:
mysqlshow --user=root --password=[password] --databases
列出指定数据库的所有表:
mysqlshow --user=root --password=[password] db_name --tables
列出指定数据库表的所有列:
mysqlshow --user=root --password=[password] db_name tbl_name --columns
列出索引信息:
mysqlshow --user=root --password=[password] --keys db_name tbl_name
列出数据库的描述性信息:
mysqlshow --user=root --password=[password] --status db_name
mysqldump:
mysqldump --user=root --password=[password] db_name [tbl_name...] > backup.sql
以上就是关于“mysql 数据库位置_数据库对象位置函数”的问题,朋友们可以点击主页了解更多内容,希望可以够帮助大家!