Mysqlデータバックアップと移行(ソースサーバがログインできない場合)


今回ubuntu物理サーバシステムに問題が発生してログインできない場合、mysqlのデータファイルを迅速にバックアップまたは移行する方法
本カタログ
  • mysqlサーバ上の位置
  • クイックバックアップデータベースファイル
  • マイグレーションmysqlデータベースファイルディレクトリ
  • mysqlのサーバ上の場所
    まずlinuxシステムの概略ディレクトリを見てみましょう.
  • /varというディレクトリには、拡張され続けているものが格納されています./usrの相対的な安定性を維持するために、よく変更されるディレクトリをこのディレクトリの下に置くことができます.システムのログファイルは/var/logディレクトリにあります.
  • /usrこれは最も膨大なディレクトリであり、私たちが使用するアプリケーションとファイルはほとんどこのディレクトリの下に保存されています.サブディレクトリが含まれています.
  • /usr/binには多くのアプリケーションが格納されています.
  • /usr/libは、一般的なダイナミックリンク共有ライブラリと静的リポジトリを格納します.
  • /usr/localこれは一般ユーザーに提供される/usrディレクトリであり、ここでソフトウェアをインストールするのに最適である.


  • 上記の分析によれば、mysqlのlinux下のディレクトリの概略構造は、/usr/binクライアントプログラムとスクリプト/usr/sbin mysqldサーバ/var/lib/mysqlログファイル、データベース〔このディレクトリに使用するバックアップ〕/usr/include/mysqlは(ヘッダ)ファイル/usr/lib/mysqlライブラリ/usr/share/mysqlエラーメッセージと文字セットファイルを含む
    見つからない場合は、linux find検索コマンドでmysqlのディレクトリを検索できます.mysqlが存在するディレクトリもほぼ分析できます.以下のようにします.
    sudo find / -name mysql
    

    データベース・ファイルの高速バックアップ
    1.ログインできないサーバ上のmysqlデータベースファイルのコピー
    上の分析を通じて、私达は大体mysqlデータファイルの所在するディレクトリを知っているべきで、サーバーが登录することができないため、私达は1つの仮想Uディスクを探してUディスクに入ってubuntuのインタフェースをインストールすることができて、try ubuntuをクリックして、仮想のubuntuシステムに入って、/var/lib/mysql/下のデータベースファイルをコピーします
    2.使用可能な別のデータベースにデータベース・ファイルをコピー
    次に、正常に使用できるlinuxシステムのサーバを探して、ログインして、サーバ上のmysqlサービスを停止します(mysqlがなければ、インストールが必要です)
    service mysql stop  #        mysql  
    

    コピーしたばかりのデータベース・ファイルを、現在のデータベース・ディレクトリ/var/lib/mysqlの下に配置してから、データベースを起動します.コマンドは次のとおりです.
    service mysql start #     mysql   
    

    起動時に次の問題が発生した場合:Redirecting to/bin/systemctl start mysqld.service Job for mysqld.service failed. See 'systemctl status mysqld.service' and 'journalctl -xn' for details.mysqlが存在するディレクトリ権限の問題である可能性があります.
    chown mysql:mysql -R /var/lib/mysql 
    

    それから実行して、基本的に成功しました.
    service mysql start #     mysql   
    

    注意:サーバーにmysqlがインストールされているだけで、mysqlをサービスとして登録していない場合は、起動するコマンドが変更されます.コマンドは次のとおりです.
    /etc/init.d/mysql start  #   mysql  
    /etc/init.d/mysql stop  #  mysql  
    /etc/init.d/mysql restart #   mysql  
    

    mysqlデータベースファイルディレクトリの移行
    以上の操作によりmysqlデータベースのバックアップまたはリカバリが基本的に可能になります./var/lib/mysqlはmysqlのデータベースファイルディレクトリであることもわかります.もちろん、mysqlのデータベースファイルのディレクトリを変更することもできます.例えば、データベースファイルディレクトリを/media/hdb 1/dbディレクトリに保存したい場合、具体的な操作手順は以下の通りです.
    1.ディレクトリの権限を変更するには:
    chown mysql:mysql /media/hdb1/db
    

    ファイルを変更/etc/apparmor.d/usr.sbin.mysqld
    sudo vim /etc/apparmor.d/usr.sbin.mysqld
    

    次の構成を見つけます
    /var/lib/mysql r,
    /var/lib/mysql/** rwk,
    

    に変更
    /media/hdb1/db r,
    /media/hdb1/db/** rwk,
    

    ディレクトリの変更
    sudo vim /etc/mysql/my.cnf
    

    datadir=/var/mysqlをdatadir=/media/hdb 1/dbに変更
    mysqlサービスを再起動すればいいです