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

相关推荐
保持学习ing2 小时前
day1--项目搭建and内容管理模块
java·数据库·后端·docker·虚拟机
发仔1232 小时前
Oracle与MySQL核心差异对比
mysql·oracle
宇钶宇夕2 小时前
EPLAN 电气制图:建立自己的部件库,添加部件-加SQL Server安装教程(三)上
运维·服务器·数据库·程序人生·自动化
爱可生开源社区3 小时前
SQLShift 重磅更新:支持 SQL Server 存储过程转换至 GaussDB!
数据库
贾修行3 小时前
SQL Server 空间函数从入门到精通:原理、实战与多数据库性能对比
数据库·sqlserver
傲祥Ax3 小时前
Redis总结
数据库·redis·redis重点总结
一屉大大大花卷4 小时前
初识Neo4j之入门介绍(一)
数据库·neo4j
叁沐4 小时前
MySQL 08 详解read view:事务到底是隔离的还是不隔离的?
mysql
周胡杰5 小时前
鸿蒙arkts使用关系型数据库,使用DB Browser for SQLite连接和查看数据库数据?使用TaskPool进行频繁数据库操作
前端·数据库·华为·harmonyos·鸿蒙·鸿蒙系统
wkj0015 小时前
navicate如何设置数据库引擎
数据库·mysql