查看mysql是否成功启动的方法
MySQL是一款常见的关系型数据库,可以存储和管理大量的数据信息,而正确启动MySQL也是使用它的前提。如何检查MySQL是否成功启动呢?本文将介绍4种方法,供读者参考。
方法一:查看MySQL的日志文件
MySQL默认会将启动的过程和相关的信息记录在日志文件中,该文件的存放位置在MySQL的配置文件my.cnf中设置。通常情况下,该文件位于/var/log/mysqld.log。如果MySQL启动失败,可以在该文件中查看错误的原因。若启动成功,该文件中会有类似如下的信息:
2021-11-09T22:12:26.132593Z 0 [Note] /usr/sbin/mysqld (mysqld 8.0.23) starting as process 4384 ...
2021-11-09T22:12:26.157395Z 0 [Note] InnoDB: Compressed tables use zlib 1.2.11
2021-11-09T22:12:26.158982Z 0 [Note] InnoDB: Number of pools: 1
2021-11-09T22:12:26.181993Z 0 [Note] InnoDB: using CPPFLAGS '-march=x86-64 -mtune=generic -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -m64 -mtune=generic -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_REENTRANT -Wno-format-y2k -Wno-uninitialized -Wno-unused-but-set-variable -Wno-unused-local-typedefs' to compile modified MySQL code
2021-11-09T22:12:26.194978Z 0 [Note] InnoDB: Initializing buffer pool, total size = 128M, instances = 1, chunk size = 128M
2021-11-09T22:12:26.619690Z 0 [Note] InnoDB: Completed initialization of buffer pool
2021-11-09T22:12:26.773222Z 0 [Note] InnoDB: If the mysqld execution user is authorized, page cleaner thread priority can be changed. See the man page of setpriority().
2021-11-09T22:12:26.786529Z 0 [Note] InnoDB: Starting crash recovery from checkpoint LSN=16788960
...
如果上述信息中含有InnoDB等内容,说明MySQL已经成功启动并准备接受请求。
方法二:使用mysqladmin命令检查MySQL的状态
mysqladmin是一款MySQL官方提供的命令行工具,提供了许多操作MySQL的功能。其中一个常用的功能是用于检查MySQL状态的命令status。在终端中输入以下命令:
mysqladmin -u root -p status
其中,-u用于指定用户名,-p用于指定密码,status表示检查MySQL的运行状态。输入完命令后,需要输入密码才能执行。如果MySQL已经成功启动,会返回类似以下的信息:
Uptime: 59218 Threads: 3 Questions: 24 Slow queries: 0 Opens: 119 Flush tables: 1 Open tables: 112 Queries per second avg: 0.000
其中,Uptime表示MySQL已经运行的时间(以秒为单位),Threads表示当前有多少个线程在运行MySQL操作,Questions表示处理了多少个查询请求,Slow queries表示有多少个查询是慢查询,Queries per second avg表示平均每秒处理多少个查询请求。如果以上信息都存在,说明MySQL已经成功启动。
方法三:使用ps命令检查mysqld进程
ps命令可以查看当前运行的进程信息。在终端中输入以下命令:
ps -ef | grep mysql
其中,-ef表示显示所有进程的详细信息,|表示管道,grep用于过滤查找。如果mysqld进程正在运行中,会返回类似以下的信息:
mysql 2689 1 0 20:16 ? 00:00:00 /usr/sbin/mysqld --defaults-file=/etc/my.cnf
root 3237 3199 0 20:17 pts/0 00:00:00 grep mysql
其中, 列的mysql表示运行mysqld进程的用户名,第二列2689表示这个进程的进程ID(PID),第三列1表示mysqld进程的父进程ID(PPID),第四列0表示运行的状态,第五列20:16表示进程开始执行的时间,最后一列显示了进程的运行命令。如果能看到类似上述信息,说明MySQL进程正在运行。
方法四:尝试连接MySQL
最后一种方法是直接尝试连接MySQL。在终端中输入以下命令:
mysql -u root -p
其中,-u表示指定用户名,-p表示指定密码。如果MySQL已经启动成功,并且用户名和密码正确,就可以看到类似以下的命令行提示:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 8
Server version: 8.0.23-0ubuntu0.20.04.1 (Ubuntu)
Copyright (c) 2000, 2021, Oracle and/or its affiliates.
...
其中,Server version表示MySQL的版本信息。如果能连接成功,说明MySQL已经启动成功。
综上所述,有多种方法可以检查MySQL是否成功启动。通过查看MySQL的日志文件、使用mysqladmin命令、使用ps命令以及尝试连接MySQL这几种方法,读者可以判断MySQL是否已经成功启动并准备接受请求。
