เริ่มเซิร์ฟเวอร์ MySQL จากบรรทัดคำสั่งบน Mac OS Lion


162

ฉันติดตั้ง mySQL สำหรับ Mac แล้ว นอกเหนือจากการเริ่มต้นเซิร์ฟเวอร์ SQL ด้วยเครื่องมือ mySQL.prefPane ที่ติดตั้งในการตั้งค่าระบบฉันต้องการทราบวิธีการเริ่มต้นจากบรรทัดคำสั่ง ฉันทำดังนี้

หลังจาก

รากซู

ฉันเริ่มเซิร์ฟเวอร์ 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 [ข้อผิดพลาด] ข้อผิดพลาดร้ายแรง: โปรดอ่านส่วน "ความปลอดภัย" ของคู่มือเพื่อหาวิธีการเรียกใช้ 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

คำตอบ:


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
มันได้ผล. แต่ฉันไม่สามารถออกจากตัวชี้จากการทำงานของคำสั่ง วิธีหยุดเมื่อหน้าต่างเทอร์มินัลทำงาน
vietstone

11
โปรดทราบว่าคำตอบนี้ใช้ไม่ได้หากคุณติดตั้ง mysql กับ Homebrew
cbmanica

สำหรับฉันมันก็แค่ "mysqld <action>" ไฟล์ตั้งอยู่ที่ / usr / local / mysql / bin / mysqld
crobicha

233

เพียง:

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

ดีขึ้นและเรียบง่าย ขอบคุณ
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' 

คำตอบอื่น ๆ ล้มเหลวใน OSX 10.7.5 w / การติดตั้ง MySQL ล่าสุด อันนี้ทำกลอุบาย - ขอบคุณ!
Irongaze.com

@ Irongaze.com ดีใจที่ฉันช่วยได้
Eddie B

ขอบคุณ !! ฉันต้องการเริ่ม mysql และสามารถปิดเครื่องได้เช่นกันและสิ่งนี้ใช้ได้ ความแตกต่างระหว่างวิธีการเริ่มต้นนี้กับวิธี mysqld_safe คืออะไร?
oli206

1
จากmysqld_safe vs 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 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

71

หากคุณติดตั้งด้วย homebrew ไบนารีจะอยู่ที่ใดที่หนึ่ง

/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

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"

และถ้าคุณพยายามที่จะเรียกใช้ในฐานะรูทให้ใช้เซฟโหมดดังต่อไปนี้

sudo ./bin/mysqld_safe

หากคุณยังคงมีปัญหาในการเริ่มต้นแนะนำให้อ่าน: mysql5.58 เซิร์ฟเวอร์ unstart ใน mac os 10.6.5


27

บางที mysql-server ของคุณอาจไม่เริ่มทำงาน

คุณสามารถลอง

/usr/local/bin/mysql.server เริ่มทำงาน



9

ถ้ามันถูกติดตั้งด้วย homebrew ลองพิมพ์ลงไป mysql.serverใน terminal และที่ควรจะเป็น AFAIK ที่สามารถเรียกใช้งานได้จะอยู่ภายใต้ /usr/local/bin/mysql.server

หากไม่คุณสามารถเรียกใช้งานต่อไปนี้ "ค้นหา mysql.server" ซึ่งจะบอกคุณว่าจะหาไฟล์ดังกล่าวที่ไหน


5

หากคุณติดตั้ง MySQL ผ่านHomebrewคำสั่งเหล่านี้จะช่วยคุณ:

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

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

4
LauchAgent สำหรับ mysql ไม่ได้อยู่ที่นั่นเป็นค่าเริ่มต้น เล่นbrew info mysql(ซึ่งผมได้เรียนรู้จาก: stackoverflow.com/a/4622474/459863 ) ln -sfv /usr/local/opt/mysql/*.plist ~/Library/LaunchAgentsระบุว่าครั้งแรกที่ผมได้ไปวิ่ง หลังจากนั้นก็ใช้งานได้
Wolfram Arnold

5

MySQL ของฉันถูกติดตั้งผ่าน homebrew บน OS X ElCaptain สิ่งที่แก้ไขมันทำงานอยู่

brew doctor

  • ซึ่งแนะนำว่าฉันวิ่ง

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

แล้ว:

brew update
mysql.server start

mysql ทำงานอยู่


ไม่ทราบว่าเพราะเหตุใดจึงมีคนลงคะแนน เรื่องนี้เกิดขึ้นกับฉันในระหว่างการอัพเดทชง เรียกใช้หมอชงแล้วทำตามคำแนะนำเพื่อเพิ่มเส้นทางเฉพาะไปยังโปรไฟล์ทุบตีของฉันแก้ไขปัญหา ขอบคุณสำหรับคำแนะนำ
Nostalg.io

1

ข้อผิดพลาดในการเริ่มต้นเซิร์ฟเวอร์ MySql 'เซิร์ฟเวอร์ออกโดยไม่อัปเดตไฟล์ PID'

หากคุณติดตั้ง mysql จาก homebrew

ปิดเซิร์ฟเวอร์ mysql จากค่ากำหนดของ mac

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 ของคุณหรือไม่ สิ่งนี้แตกต่างจากรหัสผ่านรูทของคุณ ลอง/usr/local/mysql/bin/mysql_secure_installation


เมื่อฉันวิ่งตามบรรทัดข้างต้นมันจะสร้างขึ้น: ไม่พบไคลเอนต์ 'mysql' ใน PATH หรือ ./bin
vietstone
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.