mariadb 服务器:我无法使用“mysql.server stop”停止服务器

7st*_*tud 5 mariadb

操作系统 10.13.6

几年前我用 homebrew 安装了 mariadb 服务器,但我很少使用它。今天,我尝试使用以下命令启动 mariadb:

$ mysql.server start
Run Code Online (Sandbox Code Playgroud)

我遇到了很多错误。所以我做了:

$ brew update
Run Code Online (Sandbox Code Playgroud)

然后:

$ brew uprade mariadb
Run Code Online (Sandbox Code Playgroud)

一切顺利,现在我可以启动 mariadb:

$ mysql.server start
Run Code Online (Sandbox Code Playgroud)

我可以访问我所有的旧数据库。

我遇到的问题是我无法停止 mysql。这两个命令都挂起:

$ mysql.server stop
Run Code Online (Sandbox Code Playgroud)

和(在另一个终端窗口中):

$ mysql.server status
Run Code Online (Sandbox Code Playgroud)

根据mysql.server的 MariaDB 文档,这两个命令都应该有效。

目前,我正在像这样杀死服务器:

$ killall mysqld mysqld_safe
Run Code Online (Sandbox Code Playgroud)

然后检查服务器是否被杀死:

$ ps aux | grep mysqld
Run Code Online (Sandbox Code Playgroud)

当我在 mysql 运行时运行 ps 命令时,我得到:

〜$ ps aux | grep mysqld
7stud 3707 0.0 1.0 4808208 79948 s005 S 1:26PM 0:00.47
/usr/local/Cellar/mariadb/10.3.15/bin/mysqld --basedir=/usr/local/Cellar/mariadb/10.3.15 -- datadir=/usr/local/var/mysql --plugin-dir=/usr/local/Cellar/mariadb/10.3.15/lib/plugin --log-error=/usr/local/var/mysql/My-MacBook -Pro-2.local.err --pid-file=/usr/local/var/mysql/My-MacBook-Pro-2.local.pid

7stud 3643 0.0 0.0 4287792 1460 s005 S 1:26PM 0:00.02 /bin/sh /usr/local/Cellar/mariadb/10.3.15/bin/mysqld_safe --datadir=/usr/local/var/mysql --pid-文件=/usr/local/var/mysql/My-MacBook-Pro-2.local.pid

7stud 4544 0.0 0.0 4267752 880 s000 S+ 1:41PM 0:00.00
grep mysqld

关闭 mariadb 服务器的正确方法是什么?

mysql> SHOW VARIABLES LIKE '%vers%';
+---------------------------------+------------------------------------------+
| Variable_name                   | Value                                    |
+---------------------------------+------------------------------------------+
| innodb_version                  | 10.3.15                                  |
| protocol_version                | 10                                       |
| slave_type_conversions          |                                          |
| system_versioning_alter_history | ERROR                                    |
| system_versioning_asof          | DEFAULT                                  |
| thread_pool_oversubscribe       | 3                                        |
| version                         | 10.3.15-MariaDB                          |
| version_comment                 | Homebrew                                 |
| version_compile_machine         | x86_64                                   |
| version_compile_os              | osx10.13                                 |
| version_malloc_library          | system                                   |
| version_source_revision         | 07aef9f7eb936de2b277f8ae209a1fd72510c011 |
| version_ssl_library             | OpenSSL 1.0.2r  26 Feb 2019              |
| wsrep_patch_version             | wsrep_25.24                              |
+---------------------------------+------------------------------------------+
14 rows in set (0.01 sec)
Run Code Online (Sandbox Code Playgroud)

小智 7

我遇到了同样的问题,尝试在运行mysql.server start后使用mysql.server stopmysql.server status,但它们只会无限期地运行。

如果您使用的是 Mac,则 mysql.server stop 似乎无法工作...我使用自制软件安装了 mariadb,并发现我可以使用brew 服务在此链接中启动和停止它:

https://dba.stackexchange.com/questions/214883/homebrew-mariadb-server-start-error-with-mysql-server-start

这些命令非常简单,而且对我有用

brew services start mariadb
brew services stop mariadb
Run Code Online (Sandbox Code Playgroud)

可能有点晚了,但我希望这可以帮助您解决问题。


sun*_*sen 5

有关详细信息,请参阅/sf/answers/4195662341/

要修复,请运行:

cp /usr/local/bin/mysql.server /usr/local/bin/mysql.server.backup
sed -i "" "s/user='mysql'/user=\`whoami\`/g" /usr/local/bin/mysql.server
Run Code Online (Sandbox Code Playgroud)