如何在 Mac OS Lion 上从命令行启动 MySQL 服务器?
Posted
技术标签:
【中文标题】如何在 Mac OS Lion 上从命令行启动 MySQL 服务器?【英文标题】:How to start MySQL server from command line on Mac OS Lion? 【发布时间】:2011-12-17 04:34:23 【问题描述】:我在我的 Mac 上安装了 mysql。除了使用安装在系统偏好设置中的 mySQL.prefPane 工具启动 SQL 服务器之外,我还想知道从命令行启动的说明。 我这样做:
之后
苏根
我通过命令行启动 mySQL 服务器,但它产生如下错误:
sh-3.2# /usr/local/mysql/bin/mysqld
111028 16:57:43 [警告] 设置 lower_case_table_names=2 因为 /usr/local/mysql-5.5.17-osx10.6-x86_64/data/ 的文件系统是大小写 不敏感
111028 16:57:43 [ERROR] 致命错误:请阅读“安全”部分 了解如何以 root 身份运行 mysqld 的手册!
111028 16:57:43 [错误] 中止
111028 16:57:43 [注意] /usr/local/mysql/bin/mysqld: 关机完成
【问题讨论】:
在 macOS 上,使用mdfind mysql.server
查看您的服务器可执行文件在哪里
【参考方案1】:
简单地说:
mysql.server start
mysql.server stop
mysql.server restart
【讨论】:
这是我得到的这个:. ERROR! The server quit without updating PID file (/usr/local/var/mysql/XXXX.pid).
@nyxee 你可能需要用sudo
运行它!
即使使用sudo
,我也遇到了同样的错误。在 mac Big Sur 和 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
【参考方案2】:
试试/usr/local/mysql/bin/mysqld_safe
例子:
shell> sudo /usr/local/mysql/bin/mysqld_safe
(Enter your password, if necessary)
(Press Control-Z)
shell> bg
(Press Control-D or enter "exit" to exit the shell)
您还可以将这些添加到您的 bash 启动脚本中:
export MYSQL_HOME=/usr/local/mysql
alias start_mysql='sudo $MYSQL_HOME/bin/mysqld_safe &'
alias stop_mysql='sudo $MYSQL_HOME/bin/mysqladmin shutdown'
【讨论】:
它有效。但是我无法从执行命令中退出指针。如何在终端窗口执行时停止它。 请注意,如果您使用 Homebrew 安装了 mysql,则此答案不适用。 对我来说它最终只是“mysqld ”,该文件位于/usr/local/mysql/bin/mysqld【参考方案3】:我也喜欢别名...但是,我在启动 MySQLCOM 时遇到了问题...它静默失败...我的解决方法类似于其他... ~/.bash_aliases
alias mysqlstart='sudo /usr/local/mysql/support-files/mysql.server start'
alias mysqlstop='sudo /usr/local/mysql/support-files/mysql.server stop'
【讨论】:
其他答案在 OSX 10.7.5 w/最新 MySQL 安装上失败。这个成功了 - 谢谢! 谢谢!!我想启动 mysql 并能够关闭终端,这很有效。这种启动方式和mysqld_safe方式有什么区别? From mysqld_safe vs mysql.server 在mysql.server启动服务器之前,它会改变位置到MySQL安装目录,然后调用mysqld_safe。 我确实尝试了该命令,但它无法启动,并且似乎我无法拥有 pid 文件。我该怎么办? @ray6080 ,我想你忘了在./mysql.server start
前面输入sudo
。在 support_files 目录中,以下命令适用于我。 sudo ./mysql.server start
【参考方案4】:
正如this 有用的文章所述: 在 OS X 上从命令行启动/停止 MySQL:
sudo /usr/local/mysql/support-files/mysql.server start
sudo /usr/local/mysql/support-files/mysql.server stop
在 Linux 上从命令行启动/停止:
/etc/init.d/mysqld start
/etc/init.d/mysqld stop
/etc/init.d/mysqld restart
一些 Linux 版本也提供服务命令
# service mysqld start
# service mysqld stop
# service mysqld restart
或
# service mysql start
# service mysql stop
# service mysql restart
【讨论】:
没有来自/usr/local/mysql/support-files/mysql.server stop
的此类文件或目录【参考方案5】:
如果您使用自制软件安装它,二进制文件将类似于
/usr/local/Cellar/mysql/5.6.10/bin/mysqld
这意味着你可以开始它
/usr/local/Cellar/mysql/5.6.10/support-files/mysql.server start
然后停止它
/usr/local/Cellar/mysql/5.6.10/support-files/mysql.server stop
编辑:正如 Jacob Raccuia 提到的,确保将适当版本的 MySQL 放入路径中。
【讨论】:
是的!!!!!!我没有意识到我是这样安装的!确保将适当版本的 mysql 放在路径中【参考方案6】:也许你的 mysql-server 没有启动。
你可以试试
/usr/local/bin/mysql.server start
【讨论】:
这适用于 Mac OSX Big Sur 自 2022 年 1 月 9 日起!【参考方案7】:sudo /Library/StartupItems/MySQLCOM/MySQLCOM start
sudo /Library/StartupItems/MySQLCOM/MySQLCOM stop
在 .bash_profile 中创建别名
alias start_mysql="/Library/StartupItems/MySQLCOM/MySQLCOM start"
alias stop_mysql="/Library/StartupItems/MySQLCOM/MySQLCOM stop"
如果您尝试以 root 身份运行,请使用以下安全模式
sudo ./bin/mysqld_safe
如果您仍然遇到问题,建议阅读: mysql5.58 unstart server in mac os 10.6.5
【讨论】:
【参考方案8】:对我来说,这个解决方案适用于 mac Sierra OS:
sudo /usr/local/bin/mysql.server start
Starting MySQL
SUCCESS!
【讨论】:
对我来说,路径是/usr/local/mysql/support-files/mysql.server
【参考方案9】:
如果它与自制软件一起安装,请尝试在终端中输入mysql.server
,就可以了。
AFAIK 它的可执行文件将在 /usr/local/bin/mysql.server 下。
如果没有,您可以随时运行“locate mysql.server”,它会告诉您在哪里可以找到此类文件。
【讨论】:
【参考方案10】:我的 MySQL 是通过 OS X ElCaptain 上的自制软件安装的。什么修复了它正在运行
brew doctor
sudo chown -R $(whoami):admin /usr/local
然后:
brew update
mysql.server start
mysql 正在运行
【讨论】:
不知道为什么有人投了反对票。这在 brew 更新期间发生在我身上。运行 brew doctor,然后按照说明将特定路径添加到我的 bash 配置文件修复了问题。感谢您的建议。【参考方案11】:如果您通过Homebrew 安装了 MySQL,这些命令将对您有所帮助:
# For starting
launchctl load ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist
# For stoping
launchctl unload ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist
【讨论】:
默认情况下,mysql 的 LauchAgent 不存在。运行brew info mysql
(我从中学到了:***.com/a/4622474/459863)表示我首先必须运行ln -sfv /usr/local/opt/mysql/*.plist ~/Library/LaunchAgents
。之后,它起作用了。【参考方案12】:
MySql server 启动错误'The server quit without update PID file'
如果你已经从 homebrew 安装了 mysql
从mac的偏好设置中关闭mysql服务器
ps ax | grep mysql
#kill all the mysql process running
sudo kill -9 pid
which mysql
/usr/local/bin/mysql
Admins-MacBook-Pro:bin username$ sudo mysql.server start
Starting MySQL
. SUCCESS!
Admins-MacBook-Pro:bin username$ which mysql
/usr/local/bin/mysql
Admins-MacBook-Pro:bin username$ ps ax | grep mysql
54916 s005 S 0:00.02 /bin/sh
/usr/local/Cellar/mysql@5.7/5.7.27_1/bin/mysqld_safe --datadir=/usr/local/var/mysql --pid-file=/usr/local/var/mysql/Admins-MacBook-Pro.local.pid
55012 s005 S 0:00.40 /usr/local/Cellar/mysql@5.7/5.7.27_1/bin/mysqld --basedir=/usr/local/Cellar/mysql@5.7/5.7.27_1 --datadir=/usr/local/var/mysql --plugin-dir=/usr/local/Cellar/mysql@5.7/5.7.27_1/lib/plugin --user=mysql --log-error=Admins-MacBook-Pro.local.err --pid-file=/usr/local/var/mysql/Admins-MacBook-Pro.local.pid
55081 s005 S+ 0:00.00 grep mysql
【讨论】:
【参考方案13】:在 mac Big Sur 和 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
这个答案来自https://coolestguidesontheplanet.com/start-stop-mysql-from-the-command-line-terminal-osx-linux/
【讨论】:
【参考方案14】:111028 16:57:43 [ERROR] Fatal error: Please read "Security" section of the manual to find out how to run mysqld as root!
你为你的mysql安装设置了root密码吗?这与您的 sudo root 密码不同。试试/usr/local/mysql/bin/mysql_secure_installation
【讨论】:
当我运行上述行时,它产生:Can't find a 'mysql' client in PATH or ./bin以上是关于如何在 Mac OS Lion 上从命令行启动 MySQL 服务器?的主要内容,如果未能解决你的问题,请参考以下文章
如何让 ibm_db 或 PyDB2 python 模块在 Mac OS X 10.7 Lion 中与 DB2 一起使用?
在 Mac OS X Lion 上安装 pymssql 时出错
如何将Mac OS X10.10.5下的Python2.7升级到最新的Python3.5