MySQL日常管理(搬送整理)
4742 ワード
新規ユーザー
ユーザーの権限
インポートエクスポート
エクスポート
ライブラリ全体をローカルにバックアップするディレクトリのエクスポート
指定したライブラリをローカルにエクスポートするディレクトリ(mysqlライブラリなど)
ライブラリのテーブルをローカルのディレクトリにエクスポート(mysqlライブラリのuserテーブルなど)
指定したライブラリのテーブル(データのみ)をローカルのディレクトリ(mysqlライブラリのuserテーブルなど、フィルタ条件付き)にエクスポートします.
ライブラリのすべてのテーブル構造をエクスポート
クエリsqlをエクスポートするデータはtxt形式のファイルからローカルディレクトリ(各データ値間をタブで区切る)例えばsqlは'select user,host,password from mysqlである.user;'
クエリsqlのデータをtxt形式でMySQLサーバにエクスポートします.MySQLにログインし、デフォルトのタブをカンマに変更します.(csv形式のファイルに適応する).指定したパス、mysqlには書く権限があります.tmpディレクトリを使って、ファイルが使い終わったら、削除したほうがいいです.
インポート
mysqlライブラリのパーミッションテーブルが含まれているため、インポートが完了するにはFLUSH PRIVILEGESを実行する必要があります.コマンド#コマンド#
あるライブラリのデータを復元する(mysqlライブラリのuserテーブル)
MySQLサーバ上のtxt形式のファイルを復元します(FILE権限が必要で、各データ値の間は「タブ」で区切られています)
MySQLサーバ上のcsv形式のファイルを復元します(FILE権限が必要で、各データ値の間をカンマで区切る)
ローカルのtxtまたはcsvファイルをMySQLに復元
1.MySQL接続について-u$USERユーザー名-p$PASWDパスワード-h 127.0.0.1リモート・サーバに接続する場合は、対応するホスト名またはIPアドレスで-P 3306ポート--default-character-set=utf 8を置き換えて文字セットを指定します.
2.mysqlパラメータについて--skip-column-namesデータ列の名前を表示しない-Bはmysqlプログラムをバッチで実行する.クエリーの結果はタブ間隔フォーマットとして表示されます.-eコマンド実行後、終了
3.mysqldumpパラメータ-Aフルライブラリバックアップ--routinesバックアップストレージプロセスと関数--default-character-set=utf 8設定文字セット--lock-all-tablesグローバルコンシステンシロック--add-drop-databaseテーブル文を実行するたびに、DROP TABLE IF EXIST文--no-create-db CREATE DATABASE文を出力しない--no-create-info CREATE TABLE文を出力しない--databases後のパラメータをライブラリ名に解析する--tables最初のパラメータはライブラリ名の後をテーブル名にする
4.LOAD DATA構文についてLOAD DATA文にLOCALキーがない場合、MySQLのサーバ上で直接ファイルを読み取り、FILE権限を持つ.LOCALキーが付いている場合は、クライアントでデータファイルをローカルに読み出し、ネットワークを介してMySQLに転送する.LOAD DATA文は、同様にbinlogに記録するが、内部のメカニズムにすぎない.
参考資料:http://blog.chinaunix.net/uid-16844903-id-3411118.html
-- mysql
@>mysql -uroot -p
@>( )
-- :myuser, :123456
mysql> insert into mysql.user(Host,User,Password) values("localhost","myuser",password("123456"));
--
msql>flush privileges
ユーザーの権限
-- MYSQL@>mysql -u root -p@> -- (mydata)mysql>create database mydata;
-- myuser mydata 。
>grant all privileges on mydata.* to myuser@localhost identified by '123456';
-- mysql>flush privileges;mysql> -- , :mysql>grant select,update on mydata.* to myuser@localhost identified by '123456';
-- 。mysql>flush privileges;
インポートエクスポート
エクスポート
ライブラリ全体をローカルにバックアップするディレクトリのエクスポート
mysqldump -u$USER -p$PASSWD -h127.0.0.1 -P3306 --routines ---character-set=utf8 --lock-all-tables --add-drop-database -A > db.all.sql
指定したライブラリをローカルにエクスポートするディレクトリ(mysqlライブラリなど)
mysqldump -u$USER -p$PASSWD -h127.0.0.1 -P3306 --routines ---character-set=utf8 --databases mysql > db.sql
ライブラリのテーブルをローカルのディレクトリにエクスポート(mysqlライブラリのuserテーブルなど)
mysqldump -u$USER -p$PASSWD -h127.0.0.1 -P3306 --routines ---character-set=utf8 --tables mysql user> db.table.sql
指定したライブラリのテーブル(データのみ)をローカルのディレクトリ(mysqlライブラリのuserテーブルなど、フィルタ条件付き)にエクスポートします.
mysqldump -u$USER -p$PASSWD -h127.0.0.1 -P3306 --routines ---character-set=utf8 --no-create-db --no-create-info --tables mysql user --where=> db.table.sql
ライブラリのすべてのテーブル構造をエクスポート
mysqldump -u$USER -p$PASSWD -h127.0.0.1 -P3306 --routines ---character-set=utf8 --no-data --databases mysql > db.nodata.sql
クエリsqlをエクスポートするデータはtxt形式のファイルからローカルディレクトリ(各データ値間をタブで区切る)例えばsqlは'select user,host,password from mysqlである.user;'
mysql -u$USER -p$PASSWD -h127.0.0.1 -P3306 ---character-set=utf8 --skip-column-names -B -e 'select user,host,password from mysql.user;' > mysql_user.txt
クエリsqlのデータをtxt形式でMySQLサーバにエクスポートします.MySQLにログインし、デフォルトのタブをカンマに変更します.(csv形式のファイルに適応する).指定したパス、mysqlには書く権限があります.tmpディレクトリを使って、ファイルが使い終わったら、削除したほうがいいです.
SELECT user,host,password FROM mysql.user INTO OUTFILE '/tmp/mysql_user.csv' FIELDS TERMINATED BY ',';
インポート
mysqlライブラリのパーミッションテーブルが含まれているため、インポートが完了するにはFLUSH PRIVILEGESを実行する必要があります.コマンド#コマンド#
-- :mysql -u$USER -p$PASSWD -h127.0.0.1 -P3306 ---character-set=utf8 < db.all.sql-- :-- MySQL, source , .......mysql> source /tmp/db.all.sql;
あるライブラリのデータを復元する(mysqlライブラリのuserテーブル)
-- :mysql -u$USER -p$PASSWD -h127.0.0.1 -P3306 ---character-set=utf8 mysql < db.table.sql-- :-- MySQL, source , .mysql -u$USER -p$PASSWD -h127.0.0.1 -P3306 ---character-set=utf8......mysql> use mysql;mysql> source /tmp/db.table.sql;
MySQLサーバ上のtxt形式のファイルを復元します(FILE権限が必要で、各データ値の間は「タブ」で区切られています)
mysql -u$USER -p$PASSWD -h127.0.0.1 -P3306 ---character-set=utf8......mysql> use mysql;mysql> LOAD DATA INFILE '/tmp/mysql_user.txt' INTO TABLE user ;
MySQLサーバ上のcsv形式のファイルを復元します(FILE権限が必要で、各データ値の間をカンマで区切る)
mysql -u$USER -p$PASSWD -h127.0.0.1 -P3306 ---character-set=utf8......mysql> use mysql;mysql> LOAD DATA INFILE '/tmp/mysql_user.csv' INTO TABLE user FIELDS TERMINATED BY ',';
ローカルのtxtまたはcsvファイルをMySQLに復元
mysql -u$USER -p$PASSWD -h127.0.0.1 -P3306 ---character-set=utf8......mysql> use mysql;# txtmysql> LOAD DATA LOCAL INFILE '/tmp/mysql_user.csv' INTO TABLE user;# csvmysql> LOAD DATA LOCAL INFILE '/tmp/mysql_user.csv' INTO TABLE user FIELDS TERMINATED BY ',';
1.MySQL接続について-u$USERユーザー名-p$PASWDパスワード-h 127.0.0.1リモート・サーバに接続する場合は、対応するホスト名またはIPアドレスで-P 3306ポート--default-character-set=utf 8を置き換えて文字セットを指定します.
2.mysqlパラメータについて--skip-column-namesデータ列の名前を表示しない-Bはmysqlプログラムをバッチで実行する.クエリーの結果はタブ間隔フォーマットとして表示されます.-eコマンド実行後、終了
3.mysqldumpパラメータ-Aフルライブラリバックアップ--routinesバックアップストレージプロセスと関数--default-character-set=utf 8設定文字セット--lock-all-tablesグローバルコンシステンシロック--add-drop-databaseテーブル文を実行するたびに、DROP TABLE IF EXIST文--no-create-db CREATE DATABASE文を出力しない--no-create-info CREATE TABLE文を出力しない--databases後のパラメータをライブラリ名に解析する--tables最初のパラメータはライブラリ名の後をテーブル名にする
4.LOAD DATA構文についてLOAD DATA文にLOCALキーがない場合、MySQLのサーバ上で直接ファイルを読み取り、FILE権限を持つ.LOCALキーが付いている場合は、クライアントでデータファイルをローカルに読み出し、ネットワークを介してMySQLに転送する.LOAD DATA文は、同様にbinlogに記録するが、内部のメカニズムにすぎない.
参考資料:http://blog.chinaunix.net/uid-16844903-id-3411118.html