Friday, November 7, 2014

Change default directory MySQl Debian 7 Wheezy

  • หยุดการทำงาน MySQL
sudo /etc/init.d/mysql stop
  • สร้าง directory พาธใหม่สำหรับ db MySQL
sudo mkdir /media/mysql
  • เปลี่ยน owner และ permission หน่อย
sudo chown mysql:mysql /media/mysql
sudo chmod 700 /media/mysql
  • คัดลอก db ปัจจุบันไปไว้พาธใหม่ไง
sudo cp -R -p /var/lib/mysql/* /media/mysql/
  • คอนฟิกไฟล์ mysql ซะหน่อย
sudo cp /etc/mysql/my.cnf /etc/mysql/my.cnf.org
sudo nano /etc/mysql/my.cnf
  • ให้เรามองหาบรรทัดที่มีคำว่า datadir และเปลี่ยนค่าหลังเครื่องหมายเท่ากับ ไปเป็นพาธใหม่
datadir = /var/lib/mysql => datadir = /media/mysql
  • บันทึกไฟล์ให้เรียบร้อย
  • ทำการ start MySQl
sudo /etc/init.d/mysql start
คำสั่งด้านล่างนี้ไม่แน่ใจ เพราะ ตอนทำมัน failed หว่าแต่ path mysql มันก็ยังย้ายได้อยู่ดีครับ
  • หยุดการทำงาน MySQL
sudo /etc/init.d/mysql stop
  • ติดตั้ง apparmor ซะ
sudo apt-get install apparmor apparmor-profiles apparmor-utils
  • แก้คอนฟิก apparmor
sudo nano /etc/apparmor.d/usr.sbin.mysqld
  • จากเดิม
.........
/var/lib/mysql/ r,
/var/lib/mysql/** rwk,
/var/log/mysql/ r,
/var/log/mysql/* rw,
.........
  • แก้เป็นพาธใหม่ได้ประมาณนี้
.........
/usr/new_datadir r,
/usr/new_datadir** rwk,
/usr/new_datadir r,
/usr/new_datadir* rw,
.........
  • restart apparmor ซะ
sudo /etc/init.d/apparmor restart
  • สุดท้าย start MySQL
sudo /etc/init.d/mysql start
เพิ่มเติม
  • ตอนใช้ Debian 6 ทำไม เปลี่ยนค่า sudo nano /etc/mysql/my.cnf มันก็ไม่ได้สักทีหว่า
อ้างอิง
  • http://stackoverflow.com/questions/1795176/how-to-change-mysql-data-directory
  • https://wiki.debian.org/AppArmor/HowTo
  • http://sharadchhetri.com/2013/05/18/how-to-change-mysql-default-data-directory-in-ubuntu/
  • http://article.my-addr.com/?show=linux_ubuntu_change_datadir-move_mysql_database_to_other_path

No comments:

Post a Comment