mysql コマンドでデータベースのコピー

この記事は約3分で読めます。
スポンサーリンク
スポンサーリンク

phpMyAdmin で、データベースをコピーしようと思ったものの、特に設定をいじっていなければインポートできるファイルは2,048KiBまでとのこと。

 

php.ini を編集して apache を再起動すれば最長ファイルサイズを引き上げることができるのですが、今回、サーバーにログインしてコマンドラインで対応しました。

そのときに使ったmysqlのコマンドをメモしておきます。

スポンサーリンク
スポンサーリンク

phpMyAdminの制限の原因

phpMyAdminのインポート画面には、以下の様に 最長 2,048KiB と書かれており、ほぼ2メガバイトまでのファイルしかインポートすることができません。

(ちなみに KiB はキビバイトといって、1KiB=1024バイト の表記とのこと。KB キロバイトだと、1000なのか1024なのかはっきりしないからKiBという単位があるとのことです。あまり見かけませんね。)

phpの設定によりサイズ制限していることが原因です。アップロードファイルの最大サイズ、POSTデータの最大サイズ の2つの制限が設定されています。

php.ini ファイルの中の、

post_max_size, upload_max_filesize 

の設定を変更し、apacheを再起動すれば最大サイズを大きくできますが、都合によりapacheを再起動するわけにもいかなかったため、サーバにログインしてコマンド入力でインポートしました。

その時使用したコマンド類を下の表にまとめます。

mysql コマンド一覧

  • # の次に記述しているコマンドは、シェルからの入力
  • mysql> から始まるコマンドは、mysql上での入力

になります。

パスワード入力して、mysqlの起動 # mysql -u ユーザ名 -p
データベース一覧を表示 mysql> show databases;
データベースを選択 mysql> use データベース名;
テーブル一覧の表示 mysql> show tables;
テーブルデータの表示 mysql> select * from テーブル名;
データベースを新規作成 mysql> create database データベース名;
mysql終了 mysql> exit

データベースのバックアップ作成(-pはパスワード入力の意味)

# mysqldump -u ユーザ名 -p データベース名 > バックアップファイル名.sql

データベースのインポート

# mysql -u ユーザ名 -p データベース名 < バックアップファイル名.sql
   

 

 

この記事が気に入ったら
いいね ! しよう

コメント