【MySQL18】进阶篇 | MySQL管理

MySQL 管理

系统数据库介绍 + MySQL 自带客户端工具详解

一、系统数据库

MySQL 安装完成后自带 4 个系统库,不要随意修改。

表格

系统数据库 具体作用
information_schema 提供了访问数据库元数据的各种表和视图,包含数据库、表、字段类型以及访问权限等。
mysql 存储 MySQL 服务器运行的各种系统表,核心存放用户账号、权限、时区等管理信息。
performance_schema 为 MySQL 服务器运行时状态提供底层监控功能,主要用于收集数据库服务器性能参数、锁信息等。
sys 视图库,基于 performance_schema 的数据封装,方便 DBA 快速查看性能问题。

二、常用客户端工具

1. mysql(客户端连接工具)

用于登录连接 MySQL 数据库,也可在脚本中执行 SQL。 语法

bash

运行

sql 复制代码
mysql  [options]  [database]

常用选项

bash

运行

sql 复制代码
-u, --user=name				#指定用户名
-p, --password[=name]		#指定密码
-h, --host=name				#指定服务器IP或域名
-P, --port=port				#指定连接端口
-e, --execute=name			#执行SQL语句并退出

-e 参数非常适合写 Shell 脚本,不需要进入交互式终端就能执行 SQL。


2. mysqladmin

mysqladmin 是一个执行管理操作的客户端程序,可完成检查服务器状态、修改密码、关闭服务等管理操作。


3. mysqlbinlog

用来解析服务器生成的二进制日志文件 (binlog),binlog 本身是二进制格式,无法直接阅读。

语法

bash

运行

sql 复制代码
mysqlbinlog [options] log-files1 log-files2 ...

选项:

bash

运行

sql 复制代码
-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		#指定位置间隔内的所有日志。

4. mysqlshow

客户端对象查找工具,用来快速查看:存在哪些数据库、库里面的表、表中的列、索引信息。


5. mysqldump(数据库备份工具)

用来备份数据库或在不同数据库之间进行数据迁移。备份内容包含建表、插入数据的 SQL 语句。

语法

bash

运行

sql 复制代码
mysqldump [options] db_name [tables]
mysqldump [options] --database/-B db1 [db2 db3...]
mysqldump [options] --all-databases/-A
连接选项

bash

运行

sql 复制代码
-u, --user=name			#指定用户名
-p, --password[=name]	#指定密码
-h, --host=name			#指定服务器 ip 或域名
-P, --port=#			#指定连接端口
输出选项

bash

运行

sql 复制代码
--add-drop-database		#在每个数据库创建语句前加上 drop database 语句
--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 文件(纯数据)

6. mysqlimport /source(数据导入)

mysqlimport

客户端数据导入工具,专门用来导入 mysqldump -T 参数导出的.txt文本数据文件。

语法

bash

运行

sql 复制代码
mysqlimport [options] db_name textfile1 [textfile2...]

示例

bash

运行

复制代码
mysqlimport -uroot -p2143 test /tmp/city.txt
source(导入 sql 备份文件)

进入 MySQL 交互式终端后执行,用来导入.sql备份脚本。 语法(mysql 命令行内执行)

sql

复制代码
source /root/xxxxx.sql

三、工具清单总结

  1. mysql:数据库交互式连接客户端
  2. mysqladmin:服务器管理工具
  3. mysqlbinlog:解析二进制日志 binlog
  4. mysqlshow:快速查看库、表、列、索引
  5. mysqldump:数据库备份、迁移导出
  6. mysqlimport / source:数据导入
相关推荐
云贝贝贝3 小时前
腾讯云 TDSQL(MySQL 版)运维高频 6 坑:代理路由、读写分离、分片键、监控、PITR
运维·mysql·腾讯云
wxwx_bscxy3223 小时前
基于Python新冠疫情可视化分析系统的设计与实现
java·数据库·spring boot·python·微信小程序·sqlite
剑之所向4 小时前
.NET 官方`System.Threading.Channels`
前端·javascript·数据库
词却4 小时前
数据库基础:DQL 数据查询语言
数据库·oracle
昌原的儿子LEO6 小时前
Linux IO多路复用与SQLite数据库核心知识点总结
linux·数据库·oracle
山岚的运维笔记6 小时前
mysql 专业笔记 -- 第 8 章:使用变量
运维·数据库·笔记·后端·学习·mysql·dba
聚美智数7 小时前
网安查询-备案查询-网络安全查询API接口介绍
网络·数据库·web安全
坐吃山猪7 小时前
【多线程】Semaphore使用
java·数据库·oracle·多线程
数智启示录7 小时前
PostgreSQL 内存调优实战(第 12 篇):work_mem 只调大 64 倍,峰值为什么远不止 64 倍
运维·数据库·经验分享·postgresql·面试
姜太小白8 小时前
【Oracle】记排查sh脚本调用SQL执行卡顿的排查总结
数据库·sql·oracle