系统数据库
MySQL 安装完后,自带了下边四个数据库:
数据库 | 含义 |
---|---|
mysql | 存储 MySQL 服务器正常运行需要的各种信息(时区、主从、用户、权限...) |
information_schema | 提供了访问数据库的各种表和视图,包含数据库、表、字段类型以及访问权限等 |
performance_schema | 为 MySQL 服务器运行时状态提供了一个底层监控功能,主要用于收集数据库服务器性能参数 |
sys | 包含了一系列方便 DBA 和开发人员利用 performance_schema 进行性能调优和诊断的视图 |
常用工具
mysql
这里指的是 mysql 客户端工具,语法:
mysql [options] [database]
options 可以指定以下内容:
- -u,指定用户名
- -p,指定密码
- -h,指定服务器ip或域名
- -P,指定端口
- -e,执行 SQL 语句,而不用连接到 MySQL 数据库再执行,对于一些批处理脚本,这种方式比较方便
mysql -uroot -p123456 db007 -e "select * from user";
mysqladmin
mysqladmin 是一个执行管理操作的客户端程序,可以用来检查服务器的配置和状态、创建删除数据库等。通过帮助文档查看选型mysqladmin --help
:
例如:
mysqladmin -uroot -p123456 drop "db007";
mysqlshow
mysqlshow 是一个客户端对象查找工具,可以查找存在哪些数据库、数据库中的表、表中的列或者索引,语法:
mysqlshow [options] [db_name [table_name [col_name]]]
options 可以指定以下内容:
- --count,显示数据库以及表的统计信息(可以不指定数据库、表)
- -i,显示指定数据库指定表的状态信息
# 查询每个数据库表数量以及表中的记录数
mysqlshow -uroot -p123456 --count
# 查询指定库(crm)中每张表的字段数、以及行数
mysqlshow -uroot -p123456 crm --count
# 查询指定库中指定表的信息
mysqlshow -uroot -p123456 crm employee --count
mysqldump
mysqldump 客户端工具用来备份数据到指定文件或者在不同数据库之间进行数据迁移,备份内容默认包含创建表、插入表的 SQL 语句。备份到指定文件的语法:
mysqldump [options] db_name [tables] > filename.sql
mysqldump [options] database/-B db1 [db2 db3...] > filename.sql
mysqldump [options] -all-databases/-A > filename.sql
options 可以指定以下内容:
- -u,指定用户名
- -p,指定密码
- -h,指定服务器ip或域名
- -P,指定端口
还可以指定输出内容的选项:
- --add-drop-database,在每个数据库创建语句前加上 drop table 语句
- --add-drop-table,在每张表的建表语句前加上 drop table 语句,默认开启,也可以关闭(--skip-add-drop-table)
- -n(--no-create-db),不包含数据库创建语句
- -t(--no-create-info),不包含建表语句
- -d(--no-data),不包含数据
- -T(--tab=name),自动生成两个文件:一个
.sql
文件,保存创建表结构的语句;一个.txt
,保存数据
例如:
mysqldump -uroot -p123456 -d crm employee > employee.sql
mysqldump -uroot -p123456 -T crm employee
mysqlimport/source
mysqlimport 是客户端数据导入工具,用来导入 mysqldump 加 -T 参数导出的文本文件。语法:
mysqlimport [options] db_name textfile1 [textfile2...]
例如:
mysqlimport -uroot -p123456 crm emplyee.txt
如果需要导入 sql 文件,可以在 mysql 命令行窗口使用 source 指令:
source employee.sql
网友评论