วันเสาร์ที่ 11 มกราคม พ.ศ. 2557

วิธีติดตั้ง MySQL บน Mac OSX 10.8+

หลังจากรู้ “วิธีเปิดใช้งาน Apache และ PHP“ กันไปแล้ว ทีนี้ก็ถึงเวลาในการติดตั้งและเซตให้ MySQL ใช้งานกับ localhost ของเรากันครับ โดยปกติเราสามารถดาวน์โหลดตัวติดตั้ง MySQL ได้ที่หน้า Download ของเว็บไซต์หลัก
แต่ในโพสท์นี้ผมจะติดตั้งผ่าน Homebrew ครับ
ขั้นแรกเราต้องมี Homebrew ในเครื่องของเราซะก่อน โดยวิธีติดตั้งเคยเขียนไปแล้ว สามารถไปอ่านได้ที่

ขั้นตอนการติดตั้ง MySQL ด้วย Homebrew

ที่ terminal พิมพ์ (ก่อนที่จะ install MySQL ควรสั่ง brew update และ brew doctor ซะก่อน)
?
1
2
3
4
5
$ brew update
$ brew doctor
$ brew install mysql
เสร็จแล้วครับ ที่เหลือก็รอ ๆ ๆ จนมันติดตั้งให้เสร็จสรรพ


หากต้องการให้ MySQL รันตอน boot เครื่องก็ให้ทำตามขั้นตอนนี้ (หากไม่ต้องการก็ข้ามขั้นตอนนี้ไปได้)
?
1
2
3
$ mkdir -p ~/Library/LaunchAgents
$ cp /usr/local/Cellar/mysql/5.6.15/homebrew.mxcl.mysql.plist ~/Library/LaunchAgents/
$ launchctl load -w ~/Library/LaunchAgnets/homebrew.mxcl.mysql.plist
** 5.6.15 คือ เลขเวอร์ชั่น MySQL ที่ทำการติดตั้งขึ้นนะครับ ถ้าติดตั้งเวอร์ชั่นอื่นก็เปลี่ยนให้ถูกต้อง
ต่อมาก็ต้อง unset TMPDIR และ ติดตั้ง MySQL System Tables
?
1
2
$ unset TMPDIR
$ mysql_install_db --verbose --user=`whoami` --basedir="$(brew --prefix mysql)" --datadir=/usr/local/var/mysql --tmpdir=/tmp
สั่ง start service MySQL service และลองดู process
?
1
2
$ mysql.server start
$ ps aux | grep mysql
ต่อไปก็จัดการตั้ง password ให้ root (ของ MySQL)
?
1
$ /usr/local/Cellar/mysql/5.6.15/bin/mysqladmin -u root password 'PASSWORD'
** อย่าลืมตรวจสอบเลขเวอร์ชั่น และ ตรง PASSWORD ให้เปลี่ยนเป็น password ที่เราต้องการ
สั่ง restart service ของ MySQL และ ลองเรียก mysql ดู
?
1
2
$ mysql.server restart
$ mysql

Fix 2002 MySQL Socket error

ปัญหานี้เกิดจากว่าตัว MySQL เองดันไปวางไฟล์ mysql.sock เอาไว้ที่ “/tmp/mysql.sock” แต่เวลาที่ระบบต้องการ connect MySQL ตัวระบบ ดันไปวิ่งหาที่ “/var/mysql/mysql.sock” ซะงั้น ตามรูป

เมื่อลองใช้คำสั่ง ls ทั้งใน /tmp และ /var ก็ได้ผลตามที่เห็นครับ ว่ามี mysql.sock อยู่ใน /tmp ส่วน /var ไม่มีแม้กระทั้ง folder mysql

ดังนั้นวิธีแบบแรกก็คือ เข้าไปแก้ไขไฟล์ “/etc/php.ini” โดยแก้ไข้ค่า default_socket ให้ชี้มายัง“/tmp/mysql.sock”
?
1
default_socket=/tmp/mysql.sock
แต่ถ้าเราไม่อยากปวดหัวปวดตากับจำนวนบรรทัดมหาศาลของ php.ini แล้วก็มีวิธีที่ง่ายกว่านั้น นั้นคือ ทำ symlink จาก /tmp/mysql.sock ไปยัง /var/mysql/mysql.sock ครับ
?
1
2
$ sudo mkdir /var/mysql
$ sudo ln -s /tmp/mysql.sock /var/mysql/mysql.sock
เมื่อลองเข้าไปดูใน “/var/mysql”

มาถึงขั้นนี้ก็ต้องบอกว่า เราติดตั้ง MySQL บน Mac OSX ด้วย Homebrew เสร็จแล้วครับ

อ่านต่อ

ไม่มีความคิดเห็น:

แสดงความคิดเห็น