ติดตั้ง mysql บน ubuntu
จาก Wiki Opensource
บันทึกนี้ปรับปรุงล่าสุดเมื่อวันที่ 8-3-2553
ดูแลโดย WIPAT
- ทดสอบกับ ubuntu 8.04
- ติดตั้งด้วยคำสั่ง sudo apt-get install mysql-server
หากได้หน้าต่าง Configuring mysql-server-5.0 มีข้อความแจ้งให้ใส่รหัสผ่าน
ในตอนนี้ยังไม่ต้องใส่อะไร ให้เลื่อนไปเลือก <Ok>
ระบบจะทำการติดตั้งต่อไปจนเสร็จ
- สั่งให้ mysql server ทำงานด้วยคำสั่ง sudo /etc/init.d/mysql start
- เพื่อความปลอดภัยให้รีบแก้ไขรหัสผ่านของ root ของ mysql
สมมติว่าต้องการให้รหัสของผู้ใช้ root มีรหัสผ่านว่า mysqldroot
ตัวอย่างนี้ใช้คำสั่งว่า mysqladmin -uroot password mysqldroot
- ตัวอย่างคำสั่งในการสร้าง database ชื่อว่า testdatabase คือ
mysql -uroot -pmysqldroot -e "CREATE DATABASE testdatabase CHARACTER SET 'UTF8';"
- ตัวอย่างคำสั่งในการลบ database ที่เคยสร้างไว้ชื่อ testdatabase ทิ้งไปคือ
mysql -uroot -pmysqldroot -e "DROP DATABASE testdatabase;"
- ตัวอย่างกำหนดสิทธิ์การใช้ database ชื่อ testdatabase ให้แก่ user ชื่อ mamamysql โดยมีรหัสผ่านว่า mamapass ใช้คำสั่งคือ
mysql -uroot -pmysqldroot -e "grant all privileges on testdatabase.* to 'mamamysql'@'localhost' identified by 'mamapass';"
- การ reset root password ของ mysql server ทำดังนี้
ปิดการทำงานของ mysql ด้วยคำสั่ง sudo /etc/init.d/mysql stop
สั่งให้ mysql ทำงานใหม่ด้วยคำสั่ง sudo mysqld --skip-grant-tables &
ตั้งค่ารหัสผ่านของ root ใหม่ ตัวอย่างนี้ตั้งว่า mysqldroot ให้ใช้คำสั่งว่า mysql -u root mysql -e "UPDATE user SET Password=PASSWORD('mysqldroot') WHERE User='root';"
แล้วตามด้วยคำสั่ง mysql -u root mysql -e "flush privileges;"
เสร็จแล้วให้ปิด mysql sever ด้วยคำสั่ง kill -9 $(cat /var/run/mysqld/mysqld.pid)
- การถ่ายโอน database ภาษาไทย 8 bit ไปเป็น ภาษาไทย UTF-8 ทำดังนี้
สมมติว่ามี database ภาษาไทย 8 bit ชื่อว่า my-8bit-database
ให้ backup database ของเดิมที่เป็นภาษาไทย 8 bit มาเก็บไว้ในแฟ้ม /tmp/mybackup.sql ก่อนด้วยตัวอย่างคำสั่ง
mysqldump -u root -pmysqldroot --default-character-set=latin1 --skip-set-charset my-8bit-database | sed "s/DEFAULT CHARSET=latin1//" > /tmp/mybackup.sql
สร้างแฟ้ม database ภาษาไทย UTF-8 ชื่อ my-utf8-database ด้วยตัวอย่างคำสั่ง
mysql -uroot -pmysqldroot -e "CREATE DATABASE my-utf8-database CHARACTER SET 'UTF8';"
แล้วนำข้อมูลที่สำรองใน /tmp/mybackup.sql ไปใส่ restore คืนพร้อม upgrade เป็นภาษาไทย UTF-8 ในแฟ้ม my-utf8-database ด้วยคำสั่งประมาณว่า
mysql -u root -pmysqldroot --default-character-set=tis620 my-utf8-database < /tmp/mybackup.sql
ทำแค่นี้ก็จะได้ข้อมูล database ที่เป็นภาษาไทยแบบ UTF-8 ใช้งานแล้ว
- หากต้องการเครื่องมือจัดการ mysql แบบ graphic ให้ติดตั้งโปรแกรม mysql-query-browser
ด้วยคำสั่ง sudo apt-get install mysql-query-browser
เสร็จแล้วเรียกใช้งานด้วยคำสั่ง mysql-query-browser ได้เลย
- หากต้องการใช้เครื่องมือจัดการ mysql แบบ graphic จากภายนอกเครื่อง Server เช่น MySQLYog-Community Edition
หรือจะติดตั้ง phpmyadmin บน Web Server คนละเครื่องกับ MySQL Server ต้องแก้ไขไฟล์
/etc/mysql/my.cnf
แล้ว comment จากบรรทัดที่เขียนว่า
bind-address = 127.0.0.1
ให้เป็น
#bind-address = 127.0.0.1
แล้ว restart mysql
sudo /etc/init.d/mysql restart