【问题标题】:mariadb server: I can't stop the server with `mysql.server stop`mariadb 服务器:我无法使用 `mysql.server stop` 停止服务器
【发布时间】:2019-10-24 08:22:11
【问题描述】:

OSX 10.13.6

几年前我用自制软件安装了mariadb sever,但我很少使用它。今天尝试使用命令启动mariadb:

$ mysql.server start

我得到了一堆错误。所以,我做到了:

$ brew update

然后:

$ brew uprade mariadb

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

$ mysql.server start

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

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

$ mysql.server stop

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

$ mysql.server status

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

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

$ killall mysqld mysqld_safe

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

$ ps aux | grep mysqld

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

~$ ps 辅助 | grep mysqld
7 螺柱 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

7 螺柱 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-file=/usr/local/var/mysql/My-MacBook-Pro-2.local.pid

7 螺柱 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)

【问题讨论】:

    标签: mariadb


    【解决方案1】:

    详情请见https://stackoverflow.com/a/59938033/4579271

    要修复,运行:

    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
    

    【讨论】:

    • 这应该被标记为正确答案,提供 OP 正在寻找的功能(非持久启动/停止)。
    【解决方案2】:

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

    如果您使用的是 Mac 似乎 mysql.server stop 将不起作用...我用 homebrew 安装了 mariadb 并发现我可以在此链接中使用 brew services 来启动和停止它:

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

    命令非常简单,它们对我有用

    brew services start mariadb
    brew services stop mariadb
    

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

    【讨论】:

    • 注意:使用brew services 在重启后仍然存在,因此这种方法不等同于运行mysql.server startmysql.server stop
    猜你喜欢
    • 2018-10-13
    • 1970-01-01
    • 2013-02-11
    • 1970-01-01
    • 2019-01-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多