系统数据库
MySQL数据库安装后,自带四个库
mysql | 存储 MySQL 服务器正常运行所需要的各种信息(时区、主从、用户、权限等) |
---|---|
information_schema | 提供了访问数据库元数据的各种表和视图,包含数据库、表、字段类型及访问权限等 |
performance_schema | 为 mysql 服务器运行时状态提供了一个底层监控功能,主要用于收集数据库服务器性能参数 |
sys | 包含了一系列方便 DBA 和开发人员利用 performance_schema 性能数据库进行性能调优和诊断的视图 |
常用工具
mysql
该mysql不是指mysql服务,而是指mysql的客户端工具
语法
mysql [options] [database]
选项
-u, --user=name #指定用户名 -p, --password[=name] #指定密码 -h, --host=name #指定服务器 IP 或域名 -P, --port=port #指定连接端口 -e, --execute=name #执行 SQL 语句并退出
说明
-e
选项可在 MySQL 客户端执行 SQL 语句,无需连接数据库再执行,适合批处理脚本
示例:mysql -h192.168.163.130 -P3306 -uroot -p123456 itcast -e 'select * from student'
如果连不上mysql,添加用户权限
GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.163.130' IDENTIFIED BY '密码' WITH GRANT OPTION; FLUSH PRIVILEGES;
mysqladmin
mysqladmin 是执行管理操作的客户端程序,可用于检查服务器配置与当前状态、创建 / 删除数据库等。
通过帮助文档查看选项:mysqladmin --help
#例
mysql -uroot -p123456 -e 'show databases' #不登录数据库查看库信息
mysqlbinlog
mysqlbinlog
是用于检查 MySQL 服务器生成的二进制日志文件文本格式的日志管理工具,可辅助查看、解析二进制日志内容。
#语法
mysqlbinlog [options] log-files1 log-files2 ...
#选项
-d, --database=name #指定数据库名称,仅列出该数据库相关操作
-o, --offset=# #忽略日志中前 n 行命令
-r, --result-file=name #将文本格式日志输出到指定文件
-s, --short-form #显示简单格式,省略部分信息
--start-datetime=date1 --stop-datetime=date2 #指定日期区间,提取该区间内所有日志
--start-position=pos1 --stop-position=pos2 #指定位置区间,提取该区间内所有日志
mysqlshow
mysqlshow
是客户端对象查找工具,用于快速查找数据库、数据库中的表、表中的列或索引 。
语法
mysqlshow [options] [db_name [table_name [col_name]]]
选项
--count #显示数据库及表的统计信息(数据库、表可指定或不指定 ) -i #显示指定数据库或指定表的状态信息
示例
#查询每个数据库的表数量及表中记录数量 mysqlshow -uroot -p2143 --count #查询 test 库中每个表的字段数及行数 mysqlshow -uroot -p2143 test --count #查询 test 库中 book 表详细情况 mysqlshow -uroot -p2143 test book --count
mysqldump
mysqldump
是客户端工具,用于备份数据库或在不同数据库间迁移数据,备份内容含创建表和插入表的 SQL 语句
语法
mysqldump [options] db_name [tables] mysqldump [options] --database/-B db1 [db2 db3...] mysqldump [options] --all-databases/-A
连接选项
-u, --user=name #指定用户名 -p, --password[=name] #指定密码 -h, --host=name #指定服务器 IP 或域名 -P, --port=# #指定连接端口
输出选项
--add-drop-database #每个数据库创建语句前加 drop database 语句 --add-drop-table #每个表创建语句前加 drop table 语句(默认开启,关闭用 --skip-add-drop-table ) --no-create-db #不包含数据库创建语句 --no-create-info #不包含数据表创建语句 -d, --no-data #不包含数据 -T, --tab=name #自动生成两个文件:.sql(建表语句)、.txt(数据文件)
示例:
mysqldump -uroot -p123456 db01 > db02.sql #备份到当前目录中 mysqldump -uroot -p123456 -T /var/bin/mysql-files db01 score #把db01库score表备份到/var/bin/mysql-files下
mysqllimport/source
mysqllimport
作用:客户端数据导入工具,用于导入
mysqldump
加-T
参数导出的文本文件语法
mysqlimport [options] db_name textfile1 [textfile2...]
- 示例:
mysqlimport -uroot -p2143 test /tmp/city.txt
source(导入 SQL 文件用)
- 作用:在
mysql
中用于导入.sql
文件
source /root/xxxxx.sql
- 作用:在
总结
工具名称 | 功能描述 |
---|---|
mysql | MySQL 客户端工具,-e 执行 SQL 并退出 |
mysqladmin | MySQL 管理工具 |
mysqlbinlog | 二进制日志查看工具 |
mysqlshow | 查看数据库、表、字段的统计信息 |
mysqldump | 数据备份工具 |
mysqlimport/source | 数据导入工具 |