在Mac OS Lion上从命令行启动MySQL服务器


162

我为Mac安装了mySQL。除了使用System Preference中安装的mySQL.prefPane工具启动SQL Server之外,我还想知道从命令行启动的指令。我做如下:

苏根

我通过命令行启动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 [错误]致命错误:请阅读手册的“安全性”部分,以了解如何以root身份运行mysqld!

111028 16:57:43 [错误]中止

111028 16:57:43 [注意] / usr / local / mysql / bin / mysqld:关闭完成

请帮我!

编辑:

原因在这里:http : //dev.mysql.com/doc/refman/5.5/en/changing-mysql-user.html

下面的xdazz答案中描述了一种解决方案。


见我的编辑在为说明问题
vietstone

1
在macOS上,用于mdfind mysql.server查看服务器可执行文件的位置
Benjamin Crouzier 2015年

Answers:


187

尝试 /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'

1
有用。但是我不能从命令执行中退出指针。在执行“终端”窗口时如何停止它。
越南,2011年

11
请注意,如果您使用Homebrew安装mysql,则此答案不适用。
cbmanica

对我来说,它最终只是“ mysqld <action>”,文件位于/ usr / local / mysql / bin / mysqld
crobicha

232

只是:

mysql.server start

mysql.server stop

mysql.server restart


1
非常感谢!我读了很多东西,甚至是文档,但没有一个对我有用,但这确实做到了!!!
HolyMoly

6
这就是我为此得到的:. ERROR! The server quit without updating PID file (/usr/local/var/mysql/XXXX.pid).
nyxee

@nyxee您可能需要使用来运行它sudo
anuveyatsu

天啊。谢谢!
Karl Johan Vallner '18

更好,更简单。谢谢
Prabhakar Undurthi

135

我也喜欢别名...但是,我在启动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' 

使用最新的MySQL安装程序的OSX 10.7.5上的其他答案失败。这个骗人-谢谢!
Irongaze.com 2013年

@ Irongaze.com很高兴我可以提供帮助。
Eddie B

谢谢!!我想启动mysql并能够关闭终端,因此可以正常工作。这种启动方式和mysqld_safe方式有什么区别?
oli206 2013年

1
mysqld_safe与mysql.server进行比较 mysql.server启动服务器之前,它将位置更改为MySQL安装目录,然后调用mysqld_safe。
Eddie B

很好的答案!简单有效。
Starkers

84

这篇有用的文章所述:在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命令

# 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
nyxee '17

71

如果您使用自制软件安装,则二进制文件将类似于

/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放在路径中。


1
是的!!!!!! 我没有意识到我是这样安装的!确保您在路径中放置了合适版本的mysql
Jacob Raccuia 16'Aug

31
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在mac os 10.6.5中取消启动服务器


27

也许您的mysql服务器没有启动

你可以试试

/usr/local/bin/mysql.server启动


10

对我来说,此解决方案在mac Sierra OS上有效:

sudo /usr/local/bin/mysql.server start
Starting MySQL
SUCCESS!

9

如果它是用自制软件安装的,请尝试mysql.server在终端中键入,应该是这样。AFAIK可执行文件位于/usr/local/bin/mysql.server下。

如果没有,您可以始终按照“定位mysql.server”运行,它将告诉您在哪里可以找到这样的文件。


5

如果您通过Homebrew安装了MySQL,这些命令将为您提供帮助:

# For starting
launchctl load ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist

# For stoping
launchctl unload ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist

4
默认情况下,不存在用于MySQL的LauchAgent。运行brew info mysql(我从以下网站中学到了:stackoverflow.com/a/4622474/459863)指出我必须先运行ln -sfv /usr/local/opt/mysql/*.plist ~/Library/LaunchAgents。在那之后,它起作用了。
Wolfram Arnold

5

我的MySQL是通过OS X ElCaptain上的自制软件安装的。它修复了运行中的问题

brew doctor

  • 建议我跑步

sudo chown -R $(whoami):admin /usr/local

然后:

brew update
mysql.server start

mysql现在正在运行


不知道为什么有人拒绝了。在酿造更新期间,这发生在我身上。运行brew医生,然后按照说明向我的bash配置文件添加特定路径解决了该问题。谢谢你的建议。
Nostalg.io

1

MySql服务器启动错误“服务器退出但未更新PID文件”

如果您从自制软件安装了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

0
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根密码不同。尝试/usr/local/mysql/bin/mysql_secure_installation


当我运行上述代码时,它产生:在PATH或./bin中找不到“ mysql”客户端
vietstone 2011年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.