【MySQL】MySQL程序解析

1.MySQL程序

在 MySQL 中,程序 通常指的是 MySQL 提供的各种可执行文件(二进制文件),用于管理数据库、执行查询、备份数据等。这些程序可以分为以下几类:

  • 服务器程序
  • 安装程序
  • 实用程序
  • 客户机程序

2.服务器程序

(1)mysqld:MySQL服务器的主程序,负责处理客户端请求、管理数据库、执行 SQL 查询等。

  • 由服务器助手程序自动启动。
  • 手动启动以调试MySQL服务器配置。默认情况下,错误消息会发送到终端,而不是发送到错误日志。

(2)服务器助手程序

mysql.server :它是一个shell脚本,mysqld_safe 的包装器,用于 Linux 和 Oracle Solaris 等使用System V 运行级 目录的系统 。通常位于**/etc/init.d/mysql**,可以通过不同的参数(如start, stop)来控制MySQL服务的启动和停止。

mysqld_safe :设置错误日志 ,然后启动 mysqld 并监视它。如果mysqld 异常终止,mysqld_safe 将重新启动它。所以要想关闭mysql,应该先关闭mysqld_safe。如果服务器未正确启动,可查看错误日志。

mysqld_multi:是一个Perl脚本,用来简化在同一台机器上管理和操作多个MySQL服务器实例的过程。它可以启动或停止服务器,并报告服务器是否正在运行。

3.安装程序

mysql_secure_installation: 启用初始安全配置的安全程序。

mysql_tzinfo_to_sql :用于创建包含主机时区信息的SQL脚本的实用工具

mysql_upgrade:验证数据库内容并确保它们与当前版本的MySQL 兼容的程序。自MySQL Server 8.0.16以来已弃用,其中任务在服务器启动时自动执行。

4.实用程序

(1)mysql_config_editor :管理登录路径,以简化将命令行客户端连接到MySQL 服务器的方式。

  • 将认证信息(如用户名、密码、主机名、端口等)加密存储在用户主目录下的 .mylogin.cnf文件中。
  • 要指定替代文件名,请设置MYSQL_TEST_LOGIN_FILE 环境变量。
  • .mylogin.cnf 文件包含登陆路径,文件中每个选项组称为"登录路径",一组值,可以指示服务器主机以及用于服务器验证的凭证。添加登录路径:
bash 复制代码
mysql_config_editor set --login-path=mypath --host=localhost --user=root --password
  1. --login-path:指定登录路径名称。
  2. --host:指定 MySQL 服务器地址。
  3. --user:指定用户名。
  4. --password:提示输入密码。
  • 查看单个登录路径:
bash 复制代码
 mysql_config_editor print --login-path=login-path
  • 查看所有登录路径:
bash 复制代码
 mysql_config_editor print --all
  • 删除登陆路径:
bash 复制代码
 mysql_config_editor remove --login-path=login-path

(2)mysqlbinlog :读取并重放 MySQL二进制日志(binary log)的内容。可以将二进制日志中的事件转换为 SQL 语句,用于数据恢复或审计。

(3)mysqldumpslow :读取并汇总慢查询日志(slow query log)的内容。帮助识别执行时间较长的 SQL 语句,优化数据库性能。

(4)mysql_ssl_rsa_setup :创建TLS 密钥和证书 ,以启用 MySQL 服务器的 SSL/TLS 加密连接。自动创建所需的 SSL 文件(如**ca.pem、server-cert.pem、server-key.pem** 等)。提高客户端与服务器之间数据传输的安全性。

5.客户机程序

**(1)mysql:**最常用的MySQL命令行客户端,用于与 MySQL 服务器交互。

连接到 MySQL 服务器:

bash 复制代码
mysql -u username -p -h hostname -P port
  • -u:指定用户名。
  • -p:提示输入密码。
  • -h:指定服务器地址(默认为 localhost)。
  • -P:指定端口(默认为 3306)。

(2)mysqladmin:MySQL管理客户端,用于执行管理任务,如创建/删除数据库、检查服务器状态、关闭服务器等。

(3)mysqldump:MySQL数据备份工具,用于备份数据库或表的结构和数据。生成 SQL 脚本,可以用于恢复数据。

bash 复制代码
备份整个数据库:
mysqldump -u username -p mydatabase > backup.sql

备份特定表:
mysqldump -u username -p mydatabase mytable > backup.sql

备份所有数据库:
mysqldump -u username -p --all-databases > backup.sql

恢复数据:
mysql -u username -p mydatabase < backup.sql

(4)mysqlimport:数据导入工具,用于将文本文件(如 CSV)导入到 MySQL 表中。

(5)mysqlslap:负载测试工具,用于模拟客户端负载,测试 MySQL 服务器的性能。

(6)mysqlshow:用于查看数据库、表、列的信息。

(7)mysqlcheck:用于检查、修复、优化和分析 MySQL 表。

(8)mysqlpump :并行备份工具,类似于 mysqldump,但支持并行备份,速度更快。

相关推荐
星恒随风1 小时前
MySQL 从零入门(六):复合查询详解——多表查询、自连接、子查询与 UNION
linux·服务器·数据库·mysql
无奈笑天下2 小时前
银河麒麟上lsblk命令教程详解
linux·运维·服务器·数据库
xiaoye-duck3 小时前
《C++ 项目:手写大模型接入 SDK》会话模块整合:内存 SessionManager 与 DataManager 持久化联动
开发语言·数据库·c++·语言模型
AllData公司负责人4 小时前
AI大模型数据开发底座系列说明书:AllData集成DB-GPT开源项目建设 AI 多模态分析底座,涵盖模态解析/智能大屏/MCP 扩展!
大数据·数据库·人工智能·gpt·数据采集·数据接入·模态解析
隔窗听雨眠4 小时前
MySQL进程卡死的定位思路与恢复实践
mysql·故障排查·数据库运维
2601_967987375 小时前
Sqlite参考手册
数据库·python·sqlite·api·教程
隔窗听雨眠5 小时前
Oracle日志体系分层结构与故障定位路径
数据库·oracle·故障排查
为思念酝酿的痛5 小时前
C语言操作MySQL
数据库·mysql
ShineWinsu6 小时前
对于Qt:QTabWidget常见属性的解析
开发语言·数据库·c++·qt·浏览器·qtabwidget·标签页
星恒随风16 小时前
MySQL 从零入门(五):MySQL 内置函数详解——日期、字符串、数学函数与实战案例
linux·数据库·笔记·sql·mysql