【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.pemserver-cert.pemserver-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,但支持并行备份,速度更快。

相关推荐
马克Markorg6 小时前
常见的向量数据库和具有向量数据库能力的数据库
数据库
Coder_Boy_8 小时前
技术让开发更轻松的底层矛盾
java·大数据·数据库·人工智能·深度学习
helloworldandy8 小时前
使用Pandas进行数据分析:从数据清洗到可视化
jvm·数据库·python
数据知道10 小时前
PostgreSQL 故障排查:如何找出数据库中最耗时的 SQL 语句
数据库·sql·postgresql
qq_124987075310 小时前
基于SSM的动物保护系统的设计与实现(源码+论文+部署+安装)
java·数据库·spring boot·毕业设计·ssm·计算机毕业设计
枷锁—sha10 小时前
【SRC】SQL注入WAF 绕过应对策略(二)
网络·数据库·python·sql·安全·网络安全
Coder_Boy_10 小时前
基于SpringAI的在线考试系统-考试系统开发流程案例
java·数据库·人工智能·spring boot·后端
Gain_chance10 小时前
35-学习笔记尚硅谷数仓搭建-DWS层最近n日汇总表及历史至今汇总表建表语句
数据库·数据仓库·hive·笔记·学习
此生只爱蛋11 小时前
【Redis】主从复制
数据库·redis
马猴烧酒.11 小时前
【面试八股|JAVA多线程】JAVA多线程常考面试题详解
java·服务器·数据库