ubuntu mysql 迁移_(最新)ubuntu20.04LTS版迁移mysql8.0数据库的方法
(最新)ubuntu20.04LTS版遷移mysql8.0數據庫的方法
之前mysql通過apt安裝的,運行一段時間之后,發現根分區過小,有必要將占用空間大的數據庫遷移到home分區,于是,有了這篇文章。
微信號:xfiles_sky(喜歡網絡技術的朋友可以加我微信一起研討學習進步!)
優惠上云,來阿里云·云小站?www.aliyun.com
交待一下環境:操作系統:ubuntu20.04LTS版,數據庫:mysql 8.0.20
第一步:為了保證數據的完整性,先暫時停掉正在使用的數據庫
systemctl stop mysql
第二步:找到mysql8.0配置文件所在地,默認配置所在地有所變更,變成/etc/mysql/mysql.conf.d/mysqld.conf,同時查看這個配置文件,看數據庫存放的路徑在哪里,本文中確定的是在/var/lib/mysql下。
命令:
sudo su
cd /etc/mysql/mysql.conf.d/
cat mysqld.conf
第三步:因為是要將數據遷移到home分區下,所以,在home分區下新建一個目錄來存放數據,并將新建目錄寫入mysql的配置文件中。
命令:
cd ~/
mkdir mysql_data
nano /etc/mysql/mysql.conf.d/mysqld.conf
為了安全,先注釋掉datadir項,并重寫一項datadir = /home/wlp2s0/mysql_data
第四步,將源數據復制到目標文件夾,同時給目標目錄賦于權限。
命令:
cp -a -r /var/lib/mysql/* /home/wlp2s0/mysql_data #一定要跟上 -a參數,不然復制過去的目錄沒有權限 chown -R mysql:mysql /home/wlp2s0/mysql_data
第五步,要通過在默認目錄和新位置之間創建別名來告訴AppArmor讓MySQL寫入新目錄。需要編輯AppArmor alias文件
命令:
nano /etc/apparmor.d/tunables/alias
在文件底部添加
alias /var/lib/mysql/ -> /mnt/volume-nyc1-01/mysql/,
第六步,保存后退出,使更改生效,要重新啟動apparmor
命令:
systemctl restart apparmor
第七步,重啟mysql
命令:
systemctl start mysql
查看mysql狀態
systemctl status mysql
第八步,檢查mysql使用的是不是目標目錄里的文件。
命令:
mysql -u wlp2s0 -p
show global variables like "%datadir%";
第九步,至此數據遷移到目標目錄完成,可以刪掉舊目錄了。
rm -rf /var/lib/mysql
總結
以上是生活随笔為你收集整理的ubuntu mysql 迁移_(最新)ubuntu20.04LTS版迁移mysql8.0数据库的方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mysql增量备份具体步骤_记一次mys
- 下一篇: mysql select union_M