【MySQL】MySQL程序解析

发布于:2025-03-13 ⋅ 阅读:(16) ⋅ 点赞:(0)

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 文件包含登陆路径,文件中每个选项组称为“登录路径”,一组值,可以指示服务器主机以及用于服务器验证的凭证。添加登录路径
mysql_config_editor set --login-path=mypath --host=localhost --user=root --password

  1. --login-path指定登录路径名称。
  2. --host:指定 MySQL 服务器地址。
  3. --user:指定用户名。
  4. --password:提示输入密码。
  • 查看单个登录路径:
 mysql_config_editor print --login-path=login-path
  • 查看所有登录路径:
 mysql_config_editor print --all
  • 删除登陆路径:
 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.pemserver-cert.pemserver-key.pem 等)。提高客户端与服务器之间数据传输的安全性。

5.客户机程序

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

连接到 MySQL 服务器:

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

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

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

备份整个数据库:
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,但支持并行备份,速度更快。