mysql遷移資料目錄,這個坑你遇到過嗎?

2021-09-24 20:45:18 字數 1227 閱讀 3088

mysql資料庫在儲存過程中,隨著儲存資料越來越多,有時會遇到儲存的磁碟空間不足的情況,於是需要更換儲存路徑。

遷移過程主要有以下幾步:

1、關閉mysql服務;

2、更改/etc/my.cnf下datadir欄位的值改為新的目錄;

3、將現有data目錄下所有檔案複製到新的目錄下;

4、啟動mysql。‍

但是啟動完了後再次連線時,會報pdo連線資料庫失敗的錯。於是把具體錯誤列印出來,具體錯誤原因是:

sqlstate[hy000] [2002] no such file or directory‍

於是到網上查了下問題原因:

出現這個問題的原因是pdo無法找到或者mysqld.sock:由於更改了mysqldata路徑,也更改了mysqld.sock的路徑,php.ini中預設的socket路徑為空時,會找mysql預設的
sock,發現已經找不到了,所以會報連線錯誤。‍

解決方法1:

找到相應的.sock檔案,並設定php.ini檔案中的pdo_mysql.default_socket的值為.sock檔案的路徑。‍

pdo_mysql.default_socket= /tmp/mysqld.sock
然後重啟apache,或者nginx下重啟php-fpm即可。

解決方法2:(我是用這種方法解決,簡單省力)

將pdo連線中的dsn的host由「localhost」改為「127.0.0.1」即可‍

<?php

header("content-type=text/html;charset=utf8");

$dbtype = 'mysql';

$host = '127.0.0.1'; //此處不用localhost

$dbname = 'joe';

$username = 'root';

$pwd = '';

$dsn = "$dbtype:host=$host;dbname=$dbname";

try catch (pdoexception $e)

?>

mysql遷移資料目錄,這個坑你遇到過嗎? :

mysql 遷移資料

一 匯出匯入所有資料庫的資料 1.匯出 mysqldump u root p123456 all databases all.sql 2.匯入 mysql u root p123456 all.sql 二 匯出匯入指定資料庫的資料 1.匯出 mysqldump u root p123456 test...

Liunx安裝mysql,遷移資料庫目錄

安裝mysql之後將資料庫目錄由 var lib mysql移動到其他目錄如 home cosw mysql後,1 執行如下命令 cp usr share mysql my medium.cnf etc my.cnf my.cnf內容如下 mysqld datadir home cosw mysql...

Mysql資料庫遷移 資料檔案直接遷移

mysql資料庫遷移 資料檔案直接遷移 在遷移之前有三種方案 1 資料庫直接匯出,拷貝檔案到新伺服器,在新伺服器上匯入。2 使用 mysql gui tools 中的 mysqlmigrationtool。3 資料檔案和庫表結構檔案直接拷貝到新伺服器,掛載到同樣配置的mysql服務下。我在我的電腦上...