要找出 mysqld 的启动命令(使用 mac),我可以这样做:
ps aux|grep mysql
我得到以下输出,它允许我启动 mysql 服务器。
/usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=...
我如何找到从命令行停止 mysql 的必要命令?
尝试:
/usr/local/mysql/bin/mysqladmin -u root -p shutdown
或者:
sudo mysqld stop
或者:
sudo /usr/local/mysql/bin/mysqld stop
或者:
sudo mysql.server stop
如果您在 OSX 中安装 Launchctl,您可以尝试:
sudo launchctl unload -w /Library/LaunchDaemons/org.macports.mysql.plist
sudo launchctl load -w /Library/LaunchDaemons/org.macports.mysql.plist
注意:这在重新启动后是持久的。
launchctl unload -w ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist
launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist
sudo /Library/StartupItems/MySQLCOM/MySQLCOM stop
sudo /Library/StartupItems/MySQLCOM/MySQLCOM start
sudo /Library/StartupItems/MySQLCOM/MySQLCOM restart
有另一种方法可以通过调用来杀死守护进程
kill -TERM PID
其中PID
是存储在文件中的值mysqld.pid
或可以通过发出命令获得的 mysqld 进程 ID ps -a | grep mysqld
。
我用下一个命令做到了:
sudo killall mysqld
对于 Windows,如果路径中有 mysql/bin,则可以直接运行此命令。
mysqladmin -u root -p shutdown
sudo launchctl list | grep -i mysql
如果结果显示类似: “xxx.xxx.mysqlxxx”
sudo launchctl remove xxx.xxx.mysqlxxx
例子:
sudo launchctl remove org.macports.mysql56-server
sudo launchctl unload -wF /Library/LaunchDaemons/xxx.xxx.mysqlxxx.plist
例子:
sudo launchctl unload -wF /Library/LaunchDaemons/org.macports.mysql56-server.plist
注意:在某些情况下,如果您先尝试“a)”,则需要在尝试b)之前再次重新启动。
在 OSX 10.8 及更高版本上,可以从系统配置中获得对 MySQL 的控制。打开系统偏好设置,单击 Mysql(通常在最底部)并从该窗格启动/停止服务。 https://dev.mysql.com/doc/refman/5.6/en/osx-installation-launchd.html
plist 文件现在位于 /Library/LaunchDaemons/com.oracle.oss.mysql.mysqld.plist 下
对于二进制安装程序,请使用:
停止:
sudo /Library/StartupItems/MySQLCOM/MySQLCOM stop
开始:
sudo /Library/StartupItems/MySQLCOM/MySQLCOM start
重新启动:
sudo /Library/StartupItems/MySQLCOM/MySQLCOM restart
当使用 Homebrew 安装 mysql 时,它会在被杀死时自动重新启动。您需要使用以下命令:
brew services stop mysql
PS:如果您安装了特定版本,它将是mysql@X.X
杀戮绝对是错误的方式!PID 将保留,Replicationsjobs 将被杀死等等。
停止 MySQL 服务器
/sbin/service mysql 停止
启动 MySQL 服务器
/sbin/service mysql 启动
重启 MySQL 服务器
/sbin/service mysql重启
如果您没有足够的权限,可能需要 sudo
尝试连续四次杀死mysqld。这是唯一对我有用的东西......
root@ubuntu:/etc/init# killall -KILL mysqld
root@ubuntu:/etc/init# killall -KILL mysqld
root@ubuntu:/etc/init# killall -KILL mysqld
root@ubuntu:/etc/init# killall -KILL mysqld
mysqld: no process found
一遍又一遍地杀死它,直到你看到“mysqld:找不到进程”。
在 CentOS 6.4 上对我有用的是service mysqld stop
作为 root 用户运行。
我在nixCraft上找到了答案。
/etc/init.d/mysql stop
service mysql stop
killall -KILL mysql mysqld_safe mysqld
When you see the following information, you success
mysql: no process found
mysqld_safe: no process found
mysqld: no process found
我使用此链接解决了 Ubuntu 15.10 中 MySQL 5.6 的安装问题。
在此安装过程中,我遇到的问题是:
"mysqld_safe A mysqld process already exists"
只要完全停止mysqld,mysqld_safe,mysql就解决了问题。
要在启动时停止 mysql 的自动启动,以下对我8.0.12
使用 Homebrew 安装的 mysql 有用macOS Mojave 10.14.1
:
rm -rf ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist
如果我的 mysql 不断重启
sudo rm -rf /usr/local/var/mysql/dev.work.err
mysql.server stop
对我有用。
停止 MariaDB 和 MySQL 服务器实例:
sudo mysqladmin shutdown
启动 MariaDB 和 MySQL 服务器实例:
mysqld &
要更改 MariaDB 和 MySQL 服务器实例的数据所有权:
sudo chown -R 755 /usr/local/mariadb/data
酿造服务停止mysql
如果您想停止所有 brew 服务,请执行以下操作:
酿造服务停止--全部
对于从二进制文件下载到 MacOS 的 mysql 5.7:
sudo launchctl load -F /Library/LaunchDaemons/com.oracle.oss.mysql.mysqld.plist
sudo launchctl unload -F /Library/LaunchDaemons/com.oracle.oss.mysql.mysqld.plist
/Applications/MAMP/tmp/mysql/
包含mysql.pid
和文件的mysql.sock.lock
文件