十年运维系列之基础篇 - MySQL
作者:曾林
联系:1494445739@qq.com
版权:文章未经同意请勿转载
一、引言
要特别注意mysql和mysqld的区别。mysql是mysqld数据库服务器进程的客户端连接程序,而mysqld指的是数据库服务器。可以跟我们日常开发的web系统来做一个类比。mysql就相当于浏览器比如IE,而mysqld就相当于web服务器比如(Apache)。
MySQL AB是诞生MySQL数据库的公司。以下就介绍此公司针对MySQL提供的几类程序或者工具。
二、程序或工具
上面我们曾经给出了web服务这样的类比,因此以下的程序或者工具的分类也是基于此类比来分类。因此可以分为如下三类:客户端程序或工具、服务端程序或工具和独立程序或工具。
- 服务器端程序和服务器启动脚本:
mysqld: mysql的服务器。在${MySQL}/bin下。${MySQL}表示mysql的安装目录。
mysqld_safe, mysql_server和mysqld_multi是服务器启动脚本。在${MySQL}/bin和${MySQL}/support-files目录。
mysql_install_db初始化数据目录或初始化数据库。通常只在系统首次安装MySQL时执行一次即可。
注:mysqld_safe是服务器启动脚本,它会启动mysqld。mysql_server也是服务器启动脚本,它调用mysqld_safe来启动mysqld服务器。在linux环境下,一般会将mysql_server脚本放在/etc/init.d目录下,将托管权交给service程序来管理,比如service mysql_server start|stop|restart等等。mysqld_multi服务器启动脚本,可以启动或停止系统上安装的多个服务器。
- 访问服务器的客户端程序:
mysql: 命令行客户程序(CLI),用于交互式或者批处理式执行sql语句。
mysqladmin: 是用于管理功能的客户程序。
mysqlcheck: 执行表维护操作。
mysqldump和mysqlhotcopy负责数据库的备份。
mysqlimport:导入数据文件。
mysqlshow: 显示信息数据库和表的相关信息。
- 独立于服务器操作的工具程序:
myisamchk:执行表维护操作。
myisampack:产生压缩、只读的表。
mysqlbinlog: 是处理二进制日志文件的实用工具。
perror: 显示错误代码的含义。