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 |
コメント