MySQL日常管理(搬送整理)

4742 ワード

新規ユーザー
--  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