日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

CentoS8 Mysql8 数据目录迁移

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

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?Mysql數(shù)據(jù)庫數(shù)據(jù)目錄遷移

1 聲明

本文的數(shù)據(jù)來自網(wǎng)絡(luò),部分代碼也有所參照,這里做了注釋和延伸,旨在技術(shù)交流,如有冒犯之處請聯(lián)系博主及時處理。

2 數(shù)據(jù)目錄遷移簡介

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

注:當前實驗環(huán)境 CentOS 8.2、Mysql 8.0.21

1 內(nèi)核版本:

[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 數(shù)據(jù)目錄遷移步驟

Step 1 首先通過命令查看當前數(shù)據(jù)庫的數(shù)據(jù)目錄

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

Step 2 停止mysql數(shù)據(jù)庫服務(wù)

service mysqld stop

Step 3 創(chuàng)建新的數(shù)據(jù)庫數(shù)據(jù)存放目錄

mkdir –p /data/mysql

Step 4 將原先的數(shù)據(jù)庫數(shù)據(jù)目錄的數(shù)據(jù)遷移到新目錄內(nèi)

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

Step 5 將新的數(shù)據(jù)目錄權(quán)限賦予mysql用戶。

chown mysql:mysql -R /data/mysql/

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

cat /etc/my.cnf

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

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

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

[mysqld]

datadir=/data/mysql

socket=/data/mysql/mysql.sock

Step 8 啟動mysql服務(wù)。

service mysqld start

Step 9 再次執(zhí)行查看數(shù)據(jù)目錄參數(shù)的命令查看當前數(shù)據(jù)目錄。

show variables like 'datadir'

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

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

4 問題

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

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文件里設(shè)置參數(shù)SELINUX=disabled后重啟linux服務(wù)器后再啟動mysql服務(wù)。

vi /etc/sysconfig/selinux

:查看selinux狀態(tài)的命令

/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參數(shù),即指定sock

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

總結(jié)

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

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。