MySQL主要包含四个部分的程序,分别为,服务器程序、安装程序、实用工具程序,及客户端程序。
服务器程序mysqld
mysqld是MySQL数据库的服务器端程序,由用户手动启用或者由操作系统的启动脚本启用。用户手动启用时,可以用于调试MySQL服务器的配置,启动过程中如果产生错误信息,将输出到终端或者错误日志中。例如,
$mysqld --user=mysql --datadir=/var/lib/mysql --socket=/tmp/mysql.sock
安装程序
mysql_secure_installation和mysql_tzinfo_to_sql是MySQL提供的部分安装程序。使用mysql_secure_installation可以对安全性进行初始化配置,mysql_tzinfo_to_sql则可以创建一个包含主机时区信息的SQL语句。
用户使用mysql_secure_installation可以改善MySQL服务器的安全性,包括创建root用户的密码、删除root用户的远程访问权限、删除匿名账户,以及删除“test”数据库。注意,该程序主要针对8.0之前版本的MySQL,8.0的安装包内已经包含了上述功能。
实用工具程序
MySQL的实用工具程序中包含如下程序:
mysql_config_editor:用于管理登录路径,方便用户通过命令行客户端连接MySQL服务器。
使用mysql_config_editor可以创建一个加密的选项文件,文件中包含用户的密码及主机的选项,默认产生的文件名称为“.mylogin.cnf”,可以通过设置“MYSQL_TEST_LOGIN_FILE”环境变量的值更改该文件名称。“.mylogin.cnf”中可以包含多个登录路径,每个登录路径中包含认证信息。文件格式类似于配置文件的选项组,例如,
[adminuser]
user=root
password = mysqlroot
host = 127.0.0.1
创建登录路径时,使用如下命令:
mysql_config_editor set --login-path=login-path --user=username --password --host=hostname
删除登录路径时,使用如下命令;
mysql_config_editor remove --login-path=login-path
客户端连接MySQL服务器时,使用“--login-path”选项,指定用户名即可进行连接。例如,
mysql --login-path=adminuser
注意,“.mylogin.cnf”文件需要保存在当前操作系统用户自己的路径下,防止被其他用户使用。通过使用该选项登录MySQL服务器,可以防止在命令行输入密码所带来的密码泄露风险。
mysqlbinlog:用于读取和回放二进制日志中的内容。
mysqldumpslow:用于读取和总结慢查询日志的内容。
mysql_ssl_rsa_setup:用于创建TLS密钥和证书
ibd2sdi:用于从InnoDB表空间文件中抽取SDI(serialized dictionary information)
客户端程序
MySQL的安装包内包含如下命令行客户端程序:
mysql:MySQL命令行客户端
mysqladmin:用于监视、管理及关闭MySQL
mysqldump/mysqlpump:使用SQL语句执行的逻辑备份工具
mysqlimport:用于将文件中的数据导入数据库
mysqlslap:加载模拟程序
mysqlshow:用于显示数据库对象的元数据
mysqlcheck:用于检查和优化数据库的表
mysqlsh:MySQL的高级命令行客户端及代码编辑器
MySQL Workbench:图形化的客户端工具,需要单独安装,不包含在MySQL的安装包内。
MySQL的安装文件位置
Linux
当用户使用RPM或者DEB安装MySQL时,文件的分布如上图所示。
“/var/lib/mysql”用于存储数据库,可以在初始化时进行配置。InnoDB的日志文件,表空间文件均包含在该路径下。
“/usr/sbin”包含服务器的执行文件“mysqld”。
“/usr/bin”包含MySQL的各种客户端程序,例如,mysql、mysqladmin、mysqlcheck,及mysqlimport。
“/var/lib/mysql-files”用于存储导入/导出的数据文件。
“/var/lib/mysql-keyring”用于存储keyring文件。
"/etc"和“/var/log”是Linux标准的配置文件和日志文件路径,“my.cnf”默认保存在”/etc/my.cnf“。
Windows
Windows的默认安装位置为“C:\Program Filse\MySQL Server version”路径下,该路径下,包含如下文件:
“bin\”:包含MySQL服务器和客户端程序。“mysqld.exe”是服务器的可执行文件。客户端程序例如,“mysql.exe”,“mysqladmin.exe”。
“Data\”:路径用于存储数据及日志文件。
my.ini:是MySQL的配置文件。
以上内容是关于MySQL的各种程序及安装路径的介绍。感谢关注“MySQL解决方案工程师”