Ubuntu修改MySQL數據庫datadir目錄

概述

本文描述了在Ubuntu 16.04系統下修改mysql-server-5.7數據庫datadir目錄的詳細步驟。目標:將數據庫目錄datadir/var/lib/mysql修改到/home/database/mysql

系統信息:

$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 16.04.3 LTS
Release:        16.04
Codename:       xenial

$ uname -a
Linux Ubuntu 4.4.0-87-generic #110-Ubuntu SMP Tue Jul 18 12:55:35 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux

mysql-server版本:

Server version: 5.7.11-0ubuntu6 (Ubuntu)

Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

步驟

以下步驟需要停止mysql服務並假設用戶擁有管理員權限。

一、停止mysql服務

sudo service mysql stop

二、新建目錄並移動現有數據庫

重要提示:強烈建議先備份/var/lib/mysql文件夾,數據無價!!!強烈建議先備份/var/lib/mysql文件夾,數據無價!!!強烈建議先備份/var/lib/mysql文件夾,數據無價!!!

創建新的數據庫目錄:

sudo mkdir /home/database

移動當前數據到新目錄:

sudo mv /var/lib/mysql /home/database/

同時需要刪除日誌文件:

sudo rm /home/database/mysql/ib_logfile0
sudo rm /home/database/mysql/ib_logfile1

三、修改mysql配置文件

修改/etc/mysql/mysql.conf.d/mysqld.cnfdatadir的值爲:

datadir = /home/database/mysql

四、修改apparmor配置

修改/etc/apparmor.d/usr.sbin.mysqld中的Allow data dir access部分,改後如下:

# Allow data dir access
#  /var/lib/mysql/ r,
#  /var/lib/mysql/** rwk,
   /home/database/mysql/ r,
   /home/database/mysql/** rwk,

重新加載apparmor服務使修改生效:

sudo service apparmor reload

五、修改mysql-systemd-start

修改/usr/share/mysql/mysql-systemd-start文件,將類似/var/lib/mysql的內容全部修改爲/home/database/mysql

六、啓動mysql服務

sudo service mysql start

七、驗證

進入mysql命令行,執行show variables like '%datadir%';,可以看到如下信息:

mysql> show variables like '%datadir%';
+---------------+-----------------------+
| Variable_name | Value                 |
+---------------+-----------------------+
| datadir       | /home/database/mysql/ |
+---------------+-----------------------+
1 row in set (0.00 sec)

表示修改成功。恭喜你!

附加說明

當mysql服務無法啓動時,可以通過datadir目錄對數據庫進行備份。直接完全拷貝保存即可。可以在當前主機或其它主機(最好mysql版本相同)上直接將原有datadir目錄替換即可完成數據恢復。


閱讀原文 | 作者官網 | 公衆號 | Feed | 訂閱 | 發私信

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章