[英]how to change mysql data directory in ubuntu 12.04
我正在嘗試更改mysql的數據目錄。 我正在使用12.04 ubuntu。但是我在mysql啟動時出現了geting錯誤。 錯誤是“開始:作業無法啟動”。
我嘗試過以下事情
停止mysql服務器:
stop mysql
創建新目錄:
mkdir /array2/mysql
僅復制數據庫文件夾:
cp -R /var/lib/mysql /array2/mysql
cp -R /var/lib/mysql/users /array2/mysql
備份my.cnf
文件:
cp /etc/mysql/my.cnf /root/my.cnf.backup
編輯my.cnf
文件:
nano /etc/mysql/my.cnf
將舊datadir和套接字的所有提及更改為新位置
我成了:
datadir=/array2/mysql
socket=/array2/mysql/mysql.sock
更新目錄權限:
chown -R mysql:mysql /array2/mysql
重命名舊目錄:
mv /var/lib/mysql /var/lib/mysql-old
創建一個符號鏈接,以防萬一:
ln -s /array2/mysql /var/lib/mysql
讓AppArmor了解新的datadir:
echo "alias /var/lib/mysql/ -> /your/new/datadir/," >> /etc/apparmor.d/tunables/alias
重新加載apparmor配置文件
sudo /etc/init.d/apparmor reload
然后啟動mysql:
start mysql
我一直在查看您的更改,並且不需要執行符號鏈接,套接字更改和/或刪除舊目錄。 請按照以下步驟操作。
service mysql stop
cp -R /var/lib/mysql /array2/mysql
chown -R mysql.mysql /array2/mysql
現在備份/etc/my.cnf然后編輯數據目錄變量
datadir = /array2/mysql
編輯apparmor規則,通常在/etc/apparmor.d/usr.sbin.mysqld中,在/ usr / sbin / mysqld group中添加以下行:
/array2/mysql/ r,
/array2/mysql/** rwk,
重新加載app armor並啟動mysql服務
service apparmor restart
service mysql start
問候,
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.