目录结构
bin 目录,包括 MySQL 的可执行文件
include 目录:MySQL 的头文件,供开发者使用
lib 目录:包括 MySQL 的库文件
share 目录:包括 MySQL 的共享文件,如错误信息和字符集文件
docs 目录:包括 MySQL 的文档和帮助文件
support-files 目录:一些帮助脚本
我们主要说说 bin 目录
#ls bin
ibd2sdi myisampack mysql_tzinfo_to_sql mysqld_multi mysqlslap
innochecksum mysql mysql_upgrade mysqld_safe perror
lz4_decompress mysql_config mysqladmin mysqldump zlib_decompress
my_print_defaults mysql_config_editor mysqlbinlog mysqldumpslow
myisam_ftdump mysql_migrate_keyring mysqlcheck mysqlimport
myisamchk mysql_secure_installation mysqld mysqlpump
myisamlog mysql_ssl_rsa_setup mysqld-debug mysqlshow
我把这些启动文件主要划分为几类
MySQL服务管理
mysqld:MySQL 的主程序,用于启动数据库服务
mysqld-debug:带有调试的 MySQL 服务版本,用于调式和开发
mysqld-safe:一个安全的启动脚本,用于启动 mysqld,并在奔溃时自动重启
客户端工具
mysql 这就不要多说了吧,用着最频繁的 MySQL 服务器的客户端
mysqladmin:这个也是 MySQL 客户端,不过比较偏向于运维端。
mysqlshow:显示数据库,表,列等信息
mysql_upgrade:升级 MySQL 服务后,用于更新系统和修改不兼容的
数据备份与恢复
mysqlpump,mysqldump:用于备份 MySQL 数据库的工具
mysqlimport:用于将数据导入 MySQL
校验,检查和修复表状态
innochecksum:校验innodb表空间文件完整性的工具
myisamchk:检查,修复或者优化 myisam 存储引擎的表
mysqlcheck:是 MySQL 自带的一个工具,作用就是保养表,其实就是检查,分析,修复和优化了。
实用工具
ibd2sdi :可以将 innodb 的序列号信息以 json 的格式输出
my_print_defaults :用于显示启动文件中使用的选项
myisamlog:显示 MYISAM 日志文件内容
myisampack:生成压缩的、只读的 MyISAM 表
mysql_config_editor:使您能够将身份验证凭据存储在名为
.mylogin.cnf
。文件位置在 Windows 上是%APPDATA%\MySQL
目录,在非 Windows 系统上是当前用户的主目录。mysqldumpslow:MySQL服务自带的工具,它可以解析和总结MySQL慢查询日志。
mysqlslap:MySQL 从 5.1.4 版开始官方自带的一个压力测试工具。它通过模拟多个并发客户端访问 MySQL 来执行压力测试,我们通过结果信息可以了解数据库的性能状况。
perror:查看 MySQL 错误代码的详细含义(但是语句在执行报错就有提示了,还跑去服务端看,是不是有点多此一举了)
mysqlbinlog:工具查看binlog。
压缩和解压缩(在备份的时候可以进行压缩)
lz4_decompress:解压缩 LZ4 格式的文件
zlib_decompress:解压缩 zlib 格式的文件
时区管理
mysql_tzinfo_to_sql:用于将操作系统的时区信息导入到 MySQL 中
其他工具
myisam_ftdump:显示 myisam 有关的全文索引。使用前如果 MySQL 服务正在运行,需先 flush tables。
mysql_migrate_keyring:在一个密钥环组件和另一个密钥环组件之间迁移密钥。它支持离线和在线迁移。
mysql_secure_installation:安装完mysql-server 会提示可以运行运行会执行以下几个设置:为 root 设置密码。删除匿名账号,取消 root 远程登录,删除 test 库和对 test 库的访问权限,刷新授权表使修改生效。(这应该是以前很久版本才需要的,现在 8.0 版本初始化自动会做)
mysql_ssl_rsa_setup:是一个MySQL附带的工具,用于自动创建SSL证书和密钥文件,以便在 MySQL 服务器与客户端之间启用安全的SSL/TLS连接。
mysql_config:为您提供了编译 MySQL 客户端并将其连接到 MySQL 的有用信息。(不太懂官方这说辞是什么意思,感觉应该很少用到,所以懒得去查了)
具体用法详细可以看看 MySQL 官方的手册https://mysql.net.cn/doc/refman/8.0/en/第四章就有详细描述。
评论