日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

CentoS8 Mysql8 数据目录迁移

發布時間:2024/9/27 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 CentoS8 Mysql8 数据目录迁移 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?Mysql數據庫數據目錄遷移

1 聲明

本文的數據來自網絡,部分代碼也有所參照,這里做了注釋和延伸,旨在技術交流,如有冒犯之處請聯系博主及時處理。

2 數據目錄遷移簡介

一般我們是通過rpm包的方式安裝mysql,自己源碼編譯的較少。但這種方式安裝數據庫時默認的數據庫數據存儲目錄在/var/lib/mysql或者其它類似的系統級目錄。大多數情況下我們的系統盤因為各種原因分配的不夠大,這時提前安排數據庫的配額或者單獨給數據庫分配空間就顯得尤為重要。這里演示的是怎樣將原始的系統級數據目錄修改成自定義的目錄。

注:當前實驗環境 CentOS 8.2、Mysql 8.0.21

1 內核版本:

[root@localhost ~]#?

cat /proc/version

Linux version 4.18.0-193.el8.x86_64 (mockbuild@kbuilder.bsys.centos.org) (gcc version 8.3.1 20191121 (Red Hat 8.3.1-5) (GCC)) #1 SMP Fri May 8 10:59:10 UTC 2020

2 redhat版本

[root@localhost ~]#

cat /etc/redhat-release

CentOS Linux release 8.2.2004 (Core)

3 mysql版本

select @@version

3 數據目錄遷移步驟

Step 1 首先通過命令查看當前數據庫的數據目錄

show variables like 'datadir'? -- 當前為/var/lib/mysql/

Step 2 停止mysql數據庫服務

service mysqld stop

Step 3 創建新的數據庫數據存放目錄

mkdir –p /data/mysql

Step 4 將原先的數據庫數據目錄的數據遷移到新目錄內

cp -R /var/lib/mysql/* /data/mysql/

Step 5 將新的數據目錄權限賦予mysql用戶。

chown mysql:mysql -R /data/mysql/

Step 6 通過mysql的主配置文件找到其它的配置文件(客戶端、服務端)

cat /etc/my.cnf

其中服務端配置文件在/etc/my.cnf.d目錄下。

Step 7 修改server里的datadir和socket參數,修改部分詳見如下粗體:

vi /etc/my.cnf.d/mysql-server.cnf

[mysqld]

datadir=/data/mysql

socket=/data/mysql/mysql.sock

Step 8 啟動mysql服務。

service mysqld start

Step 9 再次執行查看數據目錄參數的命令查看當前數據目錄。

show variables like 'datadir'

Step 10 額外驗證(新建個數據庫驗證數據文件是否存放在/data/mysql內)

CREATE DATABASE IF NOT EXISTS HouseSrc default charset utf8 COLLATE utf8_general_ci;

4 問題

1 啟動mysql服務啟動報錯,報MY-010119錯,該日志內容位于/var/log/mysql/mysqld.log文件內。?如下字樣錯誤:

2021-03-29T07:28:38.644603Z 0 [Warning] [MY-010091] [Server] Can't create test file /data/mysql/mysqld_tmp_file_case_insensitive_test.lower-test

2021-03-29T07:28:38.644638Z 0 [Warning] [MY-010159] [Server] Setting lower_case_table_names=2 because file system for /data/mysql/ is case insensitive

2021-03-29T07:28:38.646855Z 0 [ERROR] [MY-010119] [Server] Aborting

解決方法:

徹底禁用SELinux,需要在selinux文件里設置參數SELINUX=disabled后重啟linux服務器后再啟動mysql服務。

vi /etc/sysconfig/selinux

:查看selinux狀態的命令

/usr/sbin/sestatus –v

getenforce

2 mysql命令直連時報錯

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)

解決方法:

mysql命令里加上-S參數,即指定sock

mysql -S /data/mysql/mysql.sock -uroot -proot1234

總結

以上是生活随笔為你收集整理的CentoS8 Mysql8 数据目录迁移的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。