LOAD DATA INFILEでもMYSQLIMPORTコマンドのどちらでもデータを
テーブルにIMPORTできるのでどちらでも良いのですが、
バッチから利用するのであればMYSQLIMPORTの方が楽なのかな?
慣れればどちらも良いですが..

1) テストtableの作成
mysql -e 'CREATE TABLE M_IMPORT(id INT,n varchar(10))' STUDY -u root -p

2) テスト用テキストファイルの作成

3) データファイルのIMPORT
mysqlimport --local STUDY M_IMPORT.txt -u root -p

4) IMPORTしたデータの確認
mysql -e 'select * from M_IMPORT' STUDY -u root -p

mysqlimport_2nd
※ IMPORTするテキストファイル名はIMPORT先のテーブル名と同じ。

[od コマンド]
od バイナリ・ファイルの内容を閲覧する

od [-abcdfhiloxv] [-s[bytes]] [-w[bytes]] [-A radix] [-jbytes] [-N bytes] [-t type]
[–skip-bytes=bytes][–address-radix=radix] [–read-bytes=bytes] [–format=type]
[–output-duplicates] [–strings[=bytes]][–width[=bytes]] [–traditional] [file…]

MYSQLIMPORT復習
【 od 】 バイナリ・ファイルの内容を閲覧する
Linuxコマンド集


LOAD DATA INFILEの他にMYSQLIMPORTプログラムを利用する事によって
データをIMPORTする事が出来ます。
mysqlimportクライアントはLOAD DATA INFILESQLステートメントにコマンドラインインターフェース
を提供します。 mysqlimportに対する殆どのオプションはLOAD DATA INFILE構文の節に直接対応
しています

mysqlimport_11

shell> mysqlimport [options] db_name textfile1 [textfile2 …]

コマンドラインで名づけられた各テキストファイルごとに、mysqlimportはファイルネームの
拡張を取り除き、結果をファイルの内容をインポートするテーブルの名前を決定します。
例えば、patient.txt、patient.text、そしてpatientと名づけられたファイルは全てpatientと
名づけられたファイルにインポートされます。

[root@colinux bin]# ./mysqlimport
./mysqlimport Ver 3.7 Distrib 5.1.39, for pc-linux-gnu (i686)
Copyright 2000-2008 MySQL AB, 2008 Sun Microsystems, Inc.
This software comes with ABSOLUTELY NO WARRANTY. This is free software,
and you are welcome to modify and redistribute it under the GPL license

Loads tables from text files in various formats. The base name of the
text file must be the name of the table that should be used.
If one uses sockets to connect to the MySQL server, the server will open and
read the text file directly. In other cases the client will open the text
file. The SQL command ‘LOAD DATA INFILE’ is used to import the rows.

Usage: ./mysqlimport [OPTIONS] database textfile…
Default options are read from the following files in the given order:
/etc/my.cnf /etc/mysql/my.cnf /usr/local/mysql/etc/my.cnf ~/.my.cnf
The following groups are read: mysqlimport client
The following options may be given as the first argument:
–print-defaults Print the program argument list and exit
–no-defaults Don’t read default options from any options file
–defaults-file=# Only read default options from the given file #
–defaults-extra-file=# Read this file after the global files are read
–character-sets-dir=name
Directory where character sets are.
–default-character-set=name
Set the default character set.
-c, –columns=name Use only these columns to import the data to. Give the
column names in a comma separated list. This is same as
giving columns to LOAD DATA INFILE.
-C, –compress Use compression in server/client protocol.
-#, –debug[=name] Output debug log. Often this is ‘d:t:o,filename’.
–debug-check Check memory and open file usage at exit.
–debug-info Print some debug info at exit.
-d, –delete First delete all rows from table.
–fields-terminated-by=name
Fields in the textfile are terminated by …
–fields-enclosed-by=name
Fields in the importfile are enclosed by …
–fields-optionally-enclosed-by=name
Fields in the i.file are opt. enclosed by …
–fields-escaped-by=name
Fields in the i.file are escaped by …
-f, –force Continue even if we get an sql-error.
-?, –help Displays this help and exits.
-h, –host=name Connect to host.
-i, –ignore If duplicate unique key was found, keep old row.
–ignore-lines=# Ignore first n lines of data infile.
–lines-terminated-by=name
Lines in the i.file are terminated by …
-L, –local Read all files through the client.
-l, –lock-tables Lock all tables for write (this disables threads).
–low-priority Use LOW_PRIORITY when updating the table.
-p, –password[=name]
Password to use when connecting to server. If password is
not given it’s asked from the tty.
-P, –port=# Port number to use for connection or 0 for default to, in
order of preference, my.cnf, $MYSQL_TCP_PORT,
/etc/services, built-in default (3306).
–protocol=name The protocol of connection (tcp,socket,pipe,memory).
-r, –replace If duplicate unique key was found, replace old row.
-s, –silent Be more silent.
-S, –socket=name Socket file to use for connection.
–use-threads=# Load files in parallel. The argument is the number of
threads to use for loading data.
-u, –user=name User for login if not current user.
-v, –verbose Print info about the various stages.
-V, –version Output version information and exit.

Variables (–variable-name=value)
and boolean options {FALSE|TRUE} Value (after reading options)
——————————— —————————–
character-sets-dir (No default value)
default-character-set utf8
columns (No default value)
compress FALSE
debug-check FALSE
debug-info FALSE
delete FALSE
fields-terminated-by (No default value)
fields-enclosed-by (No default value)
fields-optionally-enclosed-by (No default value)
fields-escaped-by (No default value)
force FALSE
host (No default value)
ignore FALSE
ignore-lines 0
lines-terminated-by (No default value)
local FALSE
lock-tables FALSE
low-priority FALSE
port 3306
replace FALSE
silent FALSE
socket /tmp/mysql.sock
use-threads 0
user (No default value)
verbose FALSE
[root@colinux bin]#

[root@colinux bin]# mysql -e 'CREATE TABLE MYSQLIMP(id INT,n varchar(30))' STUDY -u root -p
Enter password:
[root@colinux bin]# ed
a
100 This is MYSQLIMPORT
101 STUDY AT HOME
102 HAVE A FUN
103 I WISH I CAN SLEEP..
.
w MYSQLIMP.txt
82
q
[root@colinux bin]# od MYSQLIMP.txt
0000000 030061 004460 064124 071551 064440 020163 054515 050523
0000020 044514 050115 051117 005124 030061 004461 052123 042125
0000040 020131 052101 044040 046517 005105 030061 004462 040510
0000060 042526 040440 043040 047125 030412 031460 044411 053440
0000100 051511 020110 020111 040503 020116 046123 042505 027120
0000120 005056
0000122
[root@colinux bin]# od -c MYSQLIMP.txt
0000000 1 0 0 \t T h i s i s M Y S Q
0000020 L I M P O R T \n 1 0 1 \t S T U D
0000040 Y A T H O M E \n 1 0 2 \t H A
0000060 V E A F U N \n 1 0 3 \t I W
0000100 I S H I C A N S L E E P .
0000120 . \n
0000122
[root@colinux bin]# mysqlimport --local STUDY MYSQLIMP.txt -u root -p
Enter password:
STUDY.MYSQLIMP: Records: 4 Deleted: 0 Skipped: 0 Warnings: 0
[root@colinux bin]# mysql -e 'select * from MYSQLIMP' STUDY -u root -p
Enter password:
+——+———————-+
| id | n |
+——+———————-+
| 100 | This is MYSQLIMPORT |
| 101 | STUDY AT HOME |
| 102 | HAVE A FUN |
| 103 | I WISH I CAN SLEEP.. |
+——+———————-+
[root@colinux bin]#

ed_command

※ edコマンド 「aから.まで」で、wでファイルに書き込みqでquit
編集しているときは、文字と文字はタブでスペースを空けてます。

参考サイト
7.14. mysqlimport — データインポートプログラム

MYSQLIMPORT


mysqlimport — データインポートプログラム

mysqlimportクライアントはLOAD DATA INFILESQLステートメントに
コマンドラインインターフェースを提供します。 mysqlimportに対する殆どの
オプションはLOAD DATA INFILE構文の節に直接対応しています。

mysqlimportは以下のように起動


shell> mysqlimport [options] db_name textfile1 [textfile2 …]

コマンドラインで名づけられた各テキストファイルごとに、mysqlimportは
ファイルネームの拡張を取り除き、結果をファイルの内容をインポートする
テーブルの名前を決定します
。例えば、patient.txt、patient.text、そしてpatientと
名づけられたファイルは全てpatientと名づけられたテーブルにインポートされます。

[root@colinux ~]# mysql -e 'CREATE TABLE MYSQLIMP(id INT, n VARCHAR(30))' TEST -
u root -p

Enter password:
[root@colinux ~]# ed
a
100 MysqlImport Test
101 Good Luck
.
w MYSQLIMP.txt
35
q
[root@colinux ~]# od -c MYSQLIMP.txt
0000000 1 0 0 \t M y s q l I m p o r t
0000020 T e s t \n 1 0 1 \t G o o d L u
0000040 c k \n
0000043
[root@colinux ~]# mysqlimport --local TEST MYSQLIMP.txt -u root -p
Enter password:
TEST.MYSQLIMP: Records: 2 Deleted: 0 Skipped: 0 Warnings: 0
[root@colinux ~]#

[root@colinux ~]# mysql -e 'select * from MYSQLIMP' TEST -u root -p
Enter password:
+——+——————+
| id | n |
+——+——————+
| 100 | MysqlImport Test |
| 101 | Good Luck |
+——+——————+
[root@colinux ~]#

※テーブルとファイルを作成してインポート
mysqlimport

※SELECTしてインポートされた事を確認。
mysqlimport_result


MySQL5.7からMySQL8.0へのアップグレード対応時のメモ

他のインスタンスも既に、アップグレードしましたが、UTF8MB4以外の文字コードを利用していたり、パーティションエンジンを利用していたので、
少々手間取ってしまいました。こちらの、アップグレード例はもともと、MySQL5.7で初期インストールして利用していたデータベースでUTF8MB4を利用して、
パーティションもInnoDB Native Partitionを利用していたので直ぐにアップグレードする事が出来ました。ただし、いくつか設定を変更しました。

アップグレード手順
1: mysqlsh (Ver 8.0.11) にてアップグレード事前チェックを行う
2: MySQL8.0のバリナリーダウンロード (Generic Tarを利用しました)
3: 既存のサービスを停止して、シンボリックリンクの張り直し
4: 必要なファイルやフォルダーをコピー(直ぐに、ロールバック出来るようにオリジナルフォルダーは残しています)
5: my.cnfに事前に必要な設定を入れて、MySQL8.0に無いパラメータを削除しておく
6: MySQLサービスを開始して、mysql_upgradeを実行
7: 必要に応じて、SchemaやTableのCOLLATEを変更
8: アプリケーションの接続やStrictモードを必要に応じて変更
9: 動作確認して終了

STEP1: mysqlshによるアップグレード対象インスタンスの互換性の確認
色々なアドバイスが出てくるので、必要に応じて適宜対応してください。(例:文字コード変換、パーティションストレージエンジンをInnoDBに変換等)


[root@AP01 bin]# ./mysqlsh root:password@localhost:3306 -e "util.checkForServerUpgrade();"
mysqlsh: [Warning] Using a password on the command line interface can be insecure.
The MySQL server at localhost:3306 will now be checked for compatibility issues for upgrade to MySQL 8.0...
MySQL version: 5.7.21-log - MySQL Community Server (GPL)

1) Usage of db objects with names conflicting with reserved keywords in 8.0
  No issues found

2) Usage of utf8mb3 charset
  No issues found

3) Usage of use ZEROFILL/display length type attributes
  Notice: The following table columns specify a ZEROFILL/display length attributes. Please be aware that they will be ignored in MySQL 8.0

  APP.T_Laravel.age - int(4)

4) Issues reported by 'check table x for upgrade' command
  No issues found

5) Table names in the mysql schema conflicting with new tables in 8.0
  No issues found

6) Usage of old temporal type
  No issues found

7) Foreign key constraint names longer than 64 characters
  No issues found

8) Usage of obsolete MAXDB sql_mode flag
  No issues found

9) Usage of obsolete sql_mode flags
  No issues found

10) Usage of partitioned tables in shared tablespaces
  No issues found

11) Usage of removed functions
  No issues found

No fatal errors were found that would prevent a MySQL 8 upgrade, but some potential issues were detected. Please ensure that the reported issues are not significant before upgrading.
[root@AP01 bin]# 

■ 8.0のバイナリーをダウンロードして展開

[root@AP01 local]# tar zxvf mysql-8.0.11-linux-glibc2.12-x86_64.tar.gz 
mysql-8.0.11-linux-glibc2.12-x86_64/bin/myisam_ftdump
mysql-8.0.11-linux-glibc2.12-x86_64/bin/myisamchk
mysql-8.0.11-linux-glibc2.12-x86_64/bin/myisamlog
mysql-8.0.11-linux-glibc2.12-x86_64/bin/myisampack
mysql-8.0.11-linux-glibc2.12-x86_64/bin/mysql
mysql-8.0.11-linux-glibc2.12-x86_64/bin/mysql_config_editor
mysql-8.0.11-linux-glibc2.12-x86_64/bin/mysql_secure_installation
mysql-8.0.11-linux-glibc2.12-x86_64/bin/mysql_ssl_rsa_setup
mysql-8.0.11-linux-glibc2.12-x86_64/bin/mysql_tzinfo_to_sql
mysql-8.0.11-linux-glibc2.12-x86_64/bin/mysql_upgrade
mysql-8.0.11-linux-glibc2.12-x86_64/bin/mysqladmin
mysql-8.0.11-linux-glibc2.12-x86_64/bin/mysqlbinlog
mysql-8.0.11-linux-glibc2.12-x86_64/bin/mysqlcheck
mysql-8.0.11-linux-glibc2.12-x86_64/bin/mysqldump
mysql-8.0.11-linux-glibc2.12-x86_64/bin/mysqlimport
mysql-8.0.11-linux-glibc2.12-x86_64/bin/mys

■既存のサービスを停止して、シンボリックリンクの張り直し

[root@AP01 local]# ls -l 
合計 588896
drwxr-xr-x.  2 root root          6  2月 19 12:04 bin
drwxr-xr-x.  2 root root          6  6月 10  2014 etc
drwxr-xr-x.  2 root root          6  6月 10  2014 games
drwxr-xr-x.  2 root root          6  6月 10  2014 include
drwxr-xr-x.  2 root root          6  6月 10  2014 lib
drwxr-xr-x.  2 root root          6  6月 10  2014 lib64
drwxr-xr-x.  2 root root          6  6月 10  2014 libexec
lrwxrwxrwx.  1 root root         35  2月 19 17:04 mysql -> mysql-5.7.21-linux-glibc2.12-x86_64
drwxr-xr-x. 12 root root       4096  2月 19 17:14 mysql-5.7.21-linux-glibc2.12-x86_64
drwxr-xr-x.  9 root root       4096  4月 23 14:05 mysql-8.0.11-linux-glibc2.12-x86_64
-rw-r--r--.  1 root root  603019898  4月  8 15:30 mysql-8.0.11-linux-glibc2.12-x86_64.tar.gz
drwxr-xr-x.  5 7161 31415        38  4月  9 11:49 mysql-shell-8.0.11-linux-glibc2.12-x86-64bit
lrwxrwxrwx.  1 root root         45  4月 23 14:04 mysqlsh -> mysql-shell-8.0.11-linux-glibc2.12-x86-64bit/
drwxr-xr-x.  2 root root          6  6月 10  2014 sbin
drwxr-xr-x.  5 root root         46 11月 21  2014 share
drwxr-xr-x.  2 root root          6 11月 15 20:51 src
[root@AP01 local]# /etc/init.d/mysql.server stop
Shutting down MySQL.. SUCCESS! 
[root@AP01 local]# rm mysql
rm: シンボリックリンク `mysql' を削除しますか? y
[root@AP01 local]# ln -s mysql-8.0.11-linux-glibc2.12-x86_64 mysql
[root@AP01 local]# ls -l
合計 588896
drwxr-xr-x.  2 root root          6  2月 19 12:04 bin
drwxr-xr-x.  2 root root          6  6月 10  2014 etc
drwxr-xr-x.  2 root root          6  6月 10  2014 games
drwxr-xr-x.  2 root root          6  6月 10  2014 include
drwxr-xr-x.  2 root root          6  6月 10  2014 lib
drwxr-xr-x.  2 root root          6  6月 10  2014 lib64
drwxr-xr-x.  2 root root          6  6月 10  2014 libexec
lrwxrwxrwx.  1 root root         35  4月 23 14:05 mysql -> mysql-8.0.11-linux-glibc2.12-x86_64
drwxr-xr-x. 12 root root       4096  2月 19 17:14 mysql-5.7.21-linux-glibc2.12-x86_64
drwxr-xr-x.  9 root root       4096  4月 23 14:05 mysql-8.0.11-linux-glibc2.12-x86_64
-rw-r--r--.  1 root root  603019898  4月  8 15:30 mysql-8.0.11-linux-glibc2.12-x86_64.tar.gz
drwxr-xr-x.  5 7161 31415        38  4月  9 11:49 mysql-shell-8.0.11-linux-glibc2.12-x86-64bit
lrwxrwxrwx.  1 root root         45  4月 23 14:04 mysqlsh -> mysql-shell-8.0.11-linux-glibc2.12-x86-64bit/
drwxr-xr-x.  2 root root          6  6月 10  2014 sbin
drwxr-xr-x.  5 root root         46 11月 21  2014 share
drwxr-xr-x.  2 root root          6 11月 15 20:51 src
[root@AP01 local]# 

■必要なファイルやフォルダーをコピー

[root@AP01 mysql-5.7.21-linux-glibc2.12-x86_64]# ls -l
合計 44
-rw-r--r--.  1  7161 31415 17987 12月 28 12:46 COPYING
-rw-r--r--.  1  7161 31415  2478 12月 28 12:46 README
drwxr-xr-x.  2 root  root   4096  2月 19 17:03 bin
drwxr-x---.  6 mysql mysql  4096  4月 23 14:06 data
drwxr-xr-x.  2 root  root     52  2月 19 17:03 docs
drwxr-xr-x.  3 root  root   4096  2月 19 17:03 include
drwxr-xr-x.  5 root  root   4096  2月 19 17:03 lib
drwxr-xr-x.  2 mysql mysql    60  2月 19 17:14 logs
drwxr-xr-x.  4 root  root     28  2月 19 17:03 man
drwxr-x---.  2 mysql mysql     6  2月 19 17:05 mysql-files
drwxr-xr-x. 28 root  root   4096  2月 19 17:03 share
drwxr-xr-x.  2 root  root     86  2月 19 17:03 support-files
[root@AP01 mysql-5.7.21-linux-glibc2.12-x86_64]# cp -rp data /usr/local/mysql
[root@AP01 mysql-5.7.21-linux-glibc2.12-x86_64]# cp -rp mysql-files /usr/local/mysql
[root@AP01 mysql-5.7.21-linux-glibc2.12-x86_64]# 

■ my.cnfに以下の設定を入れておく。

default_authentication_plugin=mysql_native_password

また、mysql8.0に無いパラメータは、削除しておかないとエラーになるので削除しておきましょう。
例)2018-04-23T05:39:57.859413Z 0 [ERROR] [MY-011071] [Server] unknown variable ‘query_cache_type=0’

パラメータのチェックに関しては、こちらのページが便利です。
https://tmtm.github.io/mysql-params/?vers=5.7.22,8.0.11&diff=true

■ MySQLの起動とUpgrade


[root@AP01 data]# /etc/init.d/mysql.server start
Starting MySQL... SUCCESS! 
[root@AP01 data]#

[root@AP01 mysql]# mysql_upgrade -u root -p
Enter password: 
Checking if update is needed.
Checking server version.
Running queries to upgrade MySQL server.
Upgrading system table data.
Checking system database.
mysql.columns_priv                                 OK
mysql.component                                    OK
mysql.db                                           OK
mysql.default_roles                                OK
mysql.engine_cost                                  OK
mysql.func                                         OK
mysql.general_log                                  OK
mysql.global_grants                                OK
mysql.gtid_executed                                OK
mysql.help_category                                OK
mysql.help_keyword                                 OK
mysql.help_relation                                OK
mysql.help_topic                                   OK
mysql.innodb_index_stats                           OK
mysql.innodb_table_stats                           OK
mysql.ndb_binlog_index                             OK
mysql.password_history                             OK
mysql.plugin                                       OK
mysql.procs_priv                                   OK
mysql.proxies_priv                                 OK
mysql.role_edges                                   OK
mysql.server_cost                                  OK
mysql.servers                                      OK
mysql.slave_master_info                            OK
mysql.slave_relay_log_info                         OK
mysql.slave_worker_info                            OK
mysql.slow_log                                     OK
mysql.tables_priv                                  OK
mysql.time_zone                                    OK
mysql.time_zone_leap_second                        OK
mysql.time_zone_name                               OK
mysql.time_zone_transition                         OK
mysql.time_zone_transition_type                    OK
mysql.user                                         OK
Found outdated sys schema version 1.5.1.
Upgrading the sys schema.
Checking databases.
APP.T_ChangeLog                                    OK
APP.T_Laravel                                      OK
APP.T_business                                     OK
APP.T_databases                                    OK
APP.T_others                                       OK
APP.T_scripts                                      OK
APP.cars                                           OK
APP.migrations                                     OK
APP.password_resets                                OK
APP.users                                          OK
sys.sys_config                                     OK
Upgrade process completed successfully.
Checking if update is needed.
[root@AP01 mysql]# 

■ ファイルが自動的にアップグレードされ、メタデータ関連ファイルが無くなっている事が確認できる。

[root@AP01 mysql]# ls -l
合計 10732
-rw-r-----. 1 mysql mysql       0  2月 19 17:27 columns_priv.MYD
-rw-r-----. 1 mysql mysql    4096  2月 19 17:27 columns_priv.MYI
-rw-r-----. 1 mysql mysql    7763  4月 23 14:36 columns_priv_83.sdi
-rw-r-----. 1 mysql mysql    1464  2月 19 17:28 db.MYD
-rw-r-----. 1 mysql mysql    5120  2月 19 17:28 db.MYI
-rw-r-----. 1 mysql mysql   19285  4月 23 14:36 db_84.sdi
-rw-r-----. 1 mysql mysql  114688  4月 23 14:36 engine_cost.ibd
-rw-r-----. 1 mysql mysql       0  2月 19 17:27 func.MYD
-rw-r-----. 1 mysql mysql    1024  2月 19 17:27 func.MYI
-rw-r-----. 1 mysql mysql    4819  4月 23 14:36 func_87.sdi
-rw-r-----. 1 mysql mysql      35  4月 23 14:31 general_log.CSM
-rw-r-----. 1 mysql mysql       0  2月 19 17:27 general_log.CSV
-rw-r-----. 1 mysql mysql    5520  4月 23 14:36 general_log_88.sdi
-rw-r-----. 1 mysql mysql  114688  4月 23 14:36 gtid_executed.ibd
-rw-r-----. 1 mysql mysql  131072  4月 23 14:36 help_category.ibd
-rw-r-----. 1 mysql mysql  262144  4月 23 14:36 help_keyword.ibd
-rw-r-----. 1 mysql mysql  163840  4月 23 14:36 help_relation.ibd
-rw-r-----. 1 mysql mysql 8388608  4月 23 14:36 help_topic.ibd
-rw-r-----. 1 mysql mysql  114688  4月 23 14:36 innodb_index_stats_backup57.ibd
-rw-r-----. 1 mysql mysql  114688  4月 23 14:36 innodb_table_stats_backup57.ibd
-rw-r-----. 1 mysql mysql       0  2月 19 17:05 ndb_binlog_index.MYD
-rw-r-----. 1 mysql mysql    1024  2月 19 17:05 ndb_binlog_index.MYI
-rw-r-----. 1 mysql mysql   10729  4月 23 14:36 ndb_binlog_index_96.sdi
-rw-r-----. 1 mysql mysql  114688  4月 23 14:36 plugin.ibd
-rw-r-----. 1 mysql mysql       0  2月 19 17:27 procs_priv.MYD
-rw-r-----. 1 mysql mysql    4096  2月 19 17:27 procs_priv.MYI
-rw-r-----. 1 mysql mysql    8960  4月 23 14:36 procs_priv_98.sdi
-rw-r-----. 1 mysql mysql     837  2月 19 17:05 proxies_priv.MYD
-rw-r-----. 1 mysql mysql    9216  2月 19 17:05 proxies_priv.MYI
-rw-r-----. 1 mysql mysql    7813  4月 23 14:36 proxies_priv_99.sdi
-rw-r-----. 1 mysql mysql  114688  4月 23 14:36 server_cost.ibd
-rw-r-----. 1 mysql mysql  114688  4月 23 14:36 servers.ibd
-rw-r-----. 1 mysql mysql  114688  4月 23 14:36 slave_master_info.ibd
-rw-r-----. 1 mysql mysql  114688  4月 23 14:36 slave_relay_log_info.ibd
-rw-r-----. 1 mysql mysql  114688  4月 23 14:36 slave_worker_info.ibd
-rw-r-----. 1 mysql mysql      35  4月 23 14:32 slow_log.CSM
-rw-r-----. 1 mysql mysql  104677  4月 23 14:31 slow_log.CSV
-rw-r-----. 1 mysql mysql   11741  4月 23 14:36 slow_log_105.sdi
-rw-r-----. 1 mysql mysql    1894  2月 19 17:27 tables_priv.MYD
-rw-r-----. 1 mysql mysql    9216  2月 19 17:50 tables_priv.MYI
-rw-r-----. 1 mysql mysql    9379  4月 23 14:36 tables_priv_106.sdi
-rw-r-----. 1 mysql mysql  114688  4月 23 14:36 time_zone.ibd
-rw-r-----. 1 mysql mysql  114688  4月 23 14:36 time_zone_leap_second.ibd
-rw-r-----. 1 mysql mysql  114688  4月 23 14:36 time_zone_name.ibd
-rw-r-----. 1 mysql mysql  114688  4月 23 14:36 time_zone_transition.ibd
-rw-r-----. 1 mysql mysql  114688  4月 23 14:36 time_zone_transition_type.ibd
-rw-r-----. 1 mysql mysql     504  2月 19 17:27 user.MYD
-rw-r-----. 1 mysql mysql    4096  2月 19 17:50 user.MYI
-rw-r-----. 1 mysql mysql   36754  4月 23 14:36 user_112.sdi
[root@AP01 mysql]# 


[root@AP01 mysql]# ls -l
合計 444
-rw-r-----. 1 mysql mysql     35  4月 23 14:43 general_log.CSM
-rw-r-----. 1 mysql mysql      0  4月 23 14:43 general_log.CSV
-rw-r-----. 1 mysql mysql   5520  4月 23 14:43 general_log_365.sdi
-rw-r-----. 1 mysql mysql 114688  4月 23 14:36 innodb_index_stats_backup57.ibd
-rw-r-----. 1 mysql mysql 114688  4月 23 14:36 innodb_table_stats_backup57.ibd
-rw-r-----. 1 mysql mysql     35  4月 23 14:43 slow_log.CSM
-rw-r-----. 1 mysql mysql 109876  4月 23 14:43 slow_log.CSV
-rw-r-----. 1 mysql mysql  11741  4月 23 14:43 slow_log_367.sdi
[root@AP01 mysql]# 

必要に応じて、既存データベースやテーブルのCOLLATION(照合順序)を変更しておく

root@localhost [(none)]> select @@version;
+-----------+
| @@version |
+-----------+
| 8.0.11    |
+-----------+
1 row in set (0.00 sec)

root@localhost [APP]> show create database APP\G
*************************** 1. row ***************************
       Database: APP
Create Database: CREATE DATABASE `APP` /*!40100 DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci */
1 row in set (0.00 sec)

root@localhost [APP]> alter schema APP DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci;
Query OK, 1 row affected (0.08 sec)

root@localhost [APP]> show create database APP\G
*************************** 1. row ***************************
       Database: APP
Create Database: CREATE DATABASE `APP` /*!40100 DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci */
1 row in set (0.00 sec)

root@localhost [APP]> show create table T_ChangeLog\G
*************************** 1. row ***************************
       Table: T_ChangeLog
Create Table: CREATE TABLE `T_ChangeLog` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `title` varchar(100) COLLATE utf8mb4_general_ci NOT NULL,
  `comment` varchar(2048) COLLATE utf8mb4_general_ci DEFAULT NULL,
  `update_time` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci
1 row in set (0.00 sec)

root@localhost [APP]> alter table `T_ChangeLog` convert to character set utf8mb4;
Query OK, 6 rows affected (0.11 sec)
Records: 6  Duplicates: 0  Warnings: 0

root@localhost [APP]> show create table T_ChangeLog\G
*************************** 1. row ***************************
       Table: T_ChangeLog
Create Table: CREATE TABLE `T_ChangeLog` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `title` varchar(100) NOT NULL,
  `comment` varchar(2048) DEFAULT NULL,
  `update_time` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci
1 row in set (0.00 sec)

root@localhost [APP]> 

■アプリケーションの接続や必要に応じてStrictモードを変更
メモ: COMPOSERで最新版のフレームワークにアップグレード後にTRUEに戻しました。
(本番環境では、意図しないエラーが発生することもあるので注意してTRUE,FALSEの設定を行ってください。)

            'charset' => 'utf8mb4',
            'collation' => 'utf8mb4_0900_ai_ci',
            'prefix' => '',
            /* 'strict' => true, */
            'strict' => false,

NO_AUTO_CREATE_USER等の、SQLモードが削除されているのでフレームワークによっては、StrictモードがTrueのままだと、
アプリケーションがエラーになる場合があります。

参照:アカウント管理に関連する次の機能は削除されました。
GRANTを使用してユーザーを作成する代わりに、CREATE USERを使用するようになっています。 “NO_AUTO_CREATE_USER” SQLモードはGRANT文にとって重要ではない為、削除されました。
https://dev.mysql.com/doc/refman/8.0/en/mysql-nutshell.html

その他、参考:
https://dev.mysql.com/doc/refman/8.0/en/upgrading-strategies.html


テーブルからファイルにデータを書き込むには、SELECT … INTO OUTFILE を利用してください。
テーブルにファイルをリード バックするには、LOAD DATA INFILE を利用してください。
両方のステートメントに対して FIELDS と LINES 条項の構文は同じです。
条項は両方とも任意ですが、もし両方が指定された場合 FIELDS は LINES に先行しなければいけません。

SELECT … INTO OUTFILE

SELECT の SELECT … INTO OUTFILE ‘file_name’ 型は選択された行をファイルに書き込みます。
ファイルはサーバ ソフト上に作成されるので、この構文を利用するには FILE 権限を持たなければいけません。
file_name は、/etc/passwd のようなファイルやデータベース テーブルが、その他の物の間で破壊されるのを防ぐ
既存ファイルにはなり得ません。MySQL 5.1.6 以降のバージョンでは、character_set_filesystem システム変数は、
ファイル名の解明をコントロールします。

SELECT … INTO OUTFILE ステートメントは、サーバ マシン上のテキスト ファイルにテーブルをすばやく
書き出す事ができます。もしサーバ ホストではなく、クライアント ホスト上に結果ファイルを
作成したければ、SELECT … INTO OUTFILE を利用する事はできません。
その場合、クライアント ホスト上にファイルを生成する為には、代わりに mysql -e “SELECT …” > file_name
のようなコマンドを利用しなければいけません。
SELECT … INTO OUTFILE は LOAD DATA INFILE の補数です。


SELECT a,b,a+b INTO OUTFILE '/tmp/result.txt'
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
LINES TERMINATED BY '\n'
FROM test_table;


SELECT ID,Name,Population INTO OUTFILE '/tmp/City20091218.txt'
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
LINES TERMINATED BY '\n'
FROM Study.City;

select_into_outfile1

LOAD DATA INFILE

LOAD DATA INFILE ステートメントは高スピードでテキスト ファイルからテーブルに行を読み込みます。
ファイル名は直定数文字列として与えられなければいけません。
LOAD DATA INFILE は SELECT … INTO OUTFILE の補数です。

mysqlimport ユーティリティを利用する事でデータ ファイルをロードする事もできます。
これは、サーバに LOAD DATA INFILE ステートメントを送信する事で機能します。–local オプション
は mysqlimport がクライアント ホストからデータファイルを読み込むよう働きかけます。
もしクライアントとサーバが圧縮されたプロトコルをサポートするなら、スピードが遅いネットワークにより
良い性能を得る為に –compress オプションを指定する事ができます。

LOCAL キーワードが指定されたら、それは接続の最後にクライアントに関して解明されます。

* もし LOCAL が指定されると、ファイルはクライアント ホスト上のクライアントプログラムによって読み込まれ、
サーバに送られます。ファイルは、その明確な場所を指定する為の完全なパス名として与えられます。
もしそのパス名が相対的な物として与えられると、その名前はクライアントプログラムが開始されたディレクトリ
と比較して解明されます。

* もし LOCAL が指定されなければ、ファイルはサーバ ホスト上に置かれ、サーバによって直接読み込まれる必要があります。

サーバはファイルを置く為に次のルールを利用します。

* もしファイル名が完全なパス名であれば、サーバはそれをそのまま利用します。
* もしファイル名が1つ、または複数の主要コンポネントを持つ相対的なパス名であれば、
サーバはそのデータ ディレクトリに関連するファイルを検索します。
* もし主要コンポネントを持たないファイル名が与えられると、サーバはデフォルト データベース
のデータベース ディレクトリ内のファイルを探します。

これらのルールは、非 LOCAL の場合、 ./myfile.txt としてのファイル名はサーバーのデータ ディレクトリ
から読まれ、その一方、myfile.txt としてのファイル名はデフォルト データベースのデータベース ディレクトリ
から読み込まれるという事を意味しますので、注意してください。例えば、もし db1 がデフォルト データベースなら、
ステーメントが db2 データベース内のテーブルにファイルを明示的にロードしたとしても、
次の LOAD DATA ステートメントが db1 のデータベース ディレクトリからファイル data.txt を読み込みます。

LOAD DATA INFILE ‘data.txt’ INTO TABLE db2.my_table;

ローカル ファイルをロードするのに FILE 特権は必要ありません。
LOCAL は、サーバとクライアントの両方が、これを許容できる場合のみ機能します。
例えば、もし mysqld が –local-infile=0 と共に開始された場合、LOCAL は機能しません。


SELECT ID,Name,Population INTO OUTFILE '/tmp/City20091218.txt'
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
LINES TERMINATED BY '\n'
FROM STUDY.City;


CREATE TABLE `LOAD_D_CITY` (
`ID` int(11) NOT NULL AUTO_INCREMENT,
`Name` char(35) NOT NULL DEFAULT '',
`Population` int(11) NOT NULL DEFAULT '0',
PRIMARY KEY (`ID`),
KEY `idx_City_Name` (`Name`)
) ENGINE=MyISAM AUTO_INCREMENT=0 DEFAULT CHARSET=utf8;


LOAD DATA INFILE '/tmp/City20091218.txt' INTO TABLE LOAD_D_CITY
FIELDS TERMINATED BY ',' ENCLOSED BY '"'
LINES TERMINATED BY '\n';

load_data_infile

12.2.7. SELECT 構文
12.2.5. LOAD DATA INFILE 構文


MYSQLDUMPによるデータベースのバックアップ
何も指定しない場合は、以下のようになっている。

[root@colinux tmp]# mysqldump --print-defaults
mysqldump would have been started with the following arguments:
--port=3306 --socket=/tmp/mysql.sock --default-character-set=utf8 --quick --max_allowed_packet=16M --default-character-set=utf8

[root@colinux tmp]#

mysql_dump_review4

特定のデータベースから、全てのテーブルのデータのみをバックアップ
[root@colinux tmp]# mysqldump --no-create-info --tab=/tmp --lines-terminated-by="\r\n" STUDY -u root -p
Enter password:
[root@colinux tmp]#

mysql_dump_review

[root@colinux tmp]# cat MYSQLIMP.sql
[root@colinux tmp]# cat MYSQLIMP.txt
100 This is MYSQLIMPORT
101 STUDY AT HOME
102 HAVE A FUN
103 I WISH I CAN SLEEP..
[root@colinux tmp]#

特定のデータベースから、全てのオブジェクト作成DDLをバックアップ

[root@colinux tmp]# mysqldump --no-data --tab=/tmp --lines-terminated-by="\r\n" STUDY -u root -p
Enter password:
[root@colinux tmp]#

mysql_dump_review_3

[root@colinux tmp]# cat MYSQLIMP.sql
— MySQL dump 10.13 Distrib 5.1.39, for pc-linux-gnu (i686)

— Host: localhost Database: STUDY
— ——————————————————
— Server version 5.1.39-log

/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
/*!40103 SET TIME_ZONE=’+00:00′ */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE=” */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;


— Table structure for table `MYSQLIMP`

DROP TABLE IF EXISTS `MYSQLIMP`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `MYSQLIMP` (
`id` int(11) NOT NULL DEFAULT ‘0’,
`n` varchar(30) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
/*!40101 SET character_set_client = @saved_cs_client */;

/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;

/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;

— Dump completed on 2009-11-07 21:08:30
[root@colinux tmp]#

特定のデータベースから、全てのテーブルのデータとオブジェクト作成DDLをバックアップ

[root@colinux tmp]# mysqldump --tab=/tmp --lines-terminated-by="\r\n" STUDY -u root -p
Enter password:
[root@colinux tmp]#

mysql_dump_review_2

[root@colinux tmp]# cat MYSQLIMP.sql
— MySQL dump 10.13 Distrib 5.1.39, for pc-linux-gnu (i686)

— Host: localhost Database: STUDY
— ——————————————————
— Server version 5.1.39-log

/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
/*!40103 SET TIME_ZONE=’+00:00′ */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE=” */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;


— Table structure for table `MYSQLIMP`

DROP TABLE IF EXISTS `MYSQLIMP`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `MYSQLIMP` (
`id` int(11) NOT NULL DEFAULT ‘0’,
`n` varchar(30) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
/*!40101 SET character_set_client = @saved_cs_client */;

/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;

/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;

— Dump completed on 2009-11-07 20:59:38
[root@colinux tmp]# cat MYSQLIMP.txt
100 This is MYSQLIMPORT
101 STUDY AT HOME
102 HAVE A FUN
103 I WISH I CAN SLEEP..
[root@colinux tmp]#

※ --all-databasesなどで全部のDBをまとめて取得することも可能

——————————————————————————–
以下MYSQLDUMPのヘルプ
——————————————————————————–
[root@colinux tmp]# mysqldump

Usage: mysqldump [OPTIONS] database [tables]
OR mysqldump [OPTIONS] --databases [OPTIONS] DB1 [DB2 DB3...]
OR mysqldump [OPTIONS] --all-databases [OPTIONS]
For more options, use mysqldump --help

[root@colinux tmp]# mysqldump --help
mysqldump Ver 10.13 Distrib 5.1.39, for pc-linux-gnu (i686)
By Igor Romanenko, Monty, Jani & Sinisa
This software comes with ABSOLUTELY NO WARRANTY. This is free software,
and you are welcome to modify and redistribute it under the GPL license

Dumping definition and data mysql database or table
Usage: mysqldump [OPTIONS] database [tables]
OR mysqldump [OPTIONS] --databases [OPTIONS] DB1 [DB2 DB3...]
OR mysqldump [OPTIONS] --all-databases [OPTIONS]

Default options are read from the following files in the given order:
/etc/my.cnf /etc/mysql/my.cnf /usr/local/mysql/etc/my.cnf ~/.my.cnf
The following groups are read: mysqldump client
The following options may be given as the first argument:
--print-defaults Print the program argument list and exit
--no-defaults Don't read default options from any options file
--defaults-file=# Only read default options from the given file #
--defaults-extra-file=# Read this file after the global files are read
-a, --all Deprecated. Use --create-options instead.
-A, --all-databases Dump all the databases. This will be same as --databases
with all databases selected.
-Y, --all-tablespaces
Dump all the tablespaces.
-y, --no-tablespaces
Do not dump any tablespace information.
--add-drop-database Add a 'DROP DATABASE' before each create.
--add-drop-table Add a 'drop table' before each create.
--add-locks Add locks around insert statements.
--allow-keywords Allow creation of column names that are keywords.
--character-sets-dir=name
Directory where character sets are.
-i, --comments Write additional information.
--compatible=name Change the dump to be compatible with a given mode. By
default tables are dumped in a format optimized for
MySQL. Legal modes are: ansi, mysql323, mysql40,
postgresql, oracle, mssql, db2, maxdb, no_key_options,
no_table_options, no_field_options. One can use several
modes separated by commas. Note: Requires MySQL server
version 4.1.0 or higher. This option is ignored with
earlier server versions.
--compact Give less verbose output (useful for debugging). Disables
structure comments and header/footer constructs. Enables
options --skip-add-drop-table --skip-add-locks
--skip-comments --skip-disable-keys --skip-set-charset
-c, --complete-insert
Use complete insert statements.
-C, --compress Use compression in server/client protocol.
--create-options Include all MySQL specific create options.
-B, --databases To dump several databases. Note the difference in usage;
In this case no tables are given. All name arguments are
regarded as databasenames. 'USE db_name;' will be
included in the output.
-#, --debug[=#] This is a non-debug version. Catch this and exit
--debug-check Check memory and open file usage at exit.
--debug-info Print some debug info at exit.
--default-character-set=name
Set the default character set.
--delayed-insert Insert rows with INSERT DELAYED;
--delete-master-logs
Delete logs on master after backup. This automatically
enables --master-data.
-K, --disable-keys '/*!40000 ALTER TABLE tb_name DISABLE KEYS */; and
'/*!40000 ALTER TABLE tb_name ENABLE KEYS */; will be put
in the output.
-E, --events Dump events.
-e, --extended-insert
Allows utilization of the new, much faster INSERT syntax.
--fields-terminated-by=name
Fields in the textfile are terminated by ...
--fields-enclosed-by=name
Fields in the importfile are enclosed by ...
--fields-optionally-enclosed-by=name
Fields in the i.file are opt. enclosed by ...
--fields-escaped-by=name
Fields in the i.file are escaped by ...
-x, --first-slave Deprecated, renamed to --lock-all-tables.
-F, --flush-logs Flush logs file in server before starting dump. Note that
if you dump many databases at once (using the option
--databases= or --all-databases), the logs will be
flushed for each database dumped. The exception is when
using --lock-all-tables or --master-data: in this case
the logs will be flushed only once, corresponding to the
moment all tables are locked. So if you want your dump
and the log flush to happen at the same exact moment you
should use --lock-all-tables or --master-data with
--flush-logs
--flush-privileges Emit a FLUSH PRIVILEGES statement after dumping the mysql
database. This option should be used any time the dump
contains the mysql database and any other database that
depends on the data in the mysql database for proper
restore.
-f, --force Continue even if we get an sql-error.
-?, --help Display this help message and exit.
--hex-blob Dump binary strings (BINARY, VARBINARY, BLOB) in
hexadecimal format.
-h, --host=name Connect to host.
--ignore-table=name Do not dump the specified table. To specify more than one
table to ignore, use the directive multiple times, once
for each table. Each table must be specified with both
database and table names, e.g.
--ignore-table=database.table
--insert-ignore Insert rows with INSERT IGNORE.
--lines-terminated-by=name
Lines in the i.file are terminated by ...
-x, --lock-all-tables
Locks all tables across all databases. This is achieved
by taking a global read lock for the duration of the
whole dump. Automatically turns --single-transaction and
--lock-tables off.
-l, --lock-tables Lock all tables for read.
--log-error=name Append warnings and errors to given file.
--master-data[=#] This causes the binary log position and filename to be
appended to the output. If equal to 1, will print it as a
CHANGE MASTER command; if equal to 2, that command will
be prefixed with a comment symbol. This option will turn
--lock-all-tables on, unless --single-transaction is
specified too (in which case a global read lock is only
taken a short time at the beginning of the dump - don't
forget to read about --single-transaction below). In all
cases any action on logs will happen at the exact moment
of the dump.Option automatically turns --lock-tables off.
--max_allowed_packet=#
--net_buffer_length=#
--no-autocommit Wrap tables with autocommit/commit statements.
-n, --no-create-db 'CREATE DATABASE /*!32312 IF NOT EXISTS*/ db_name;' will
not be put in the output. The above line will be added
otherwise, if --databases or --all-databases option was
given.}.
-t, --no-create-info
Don't write table creation info.
-d, --no-data No row information.
-N, --no-set-names Deprecated. Use --skip-set-charset instead.
--opt Same as --add-drop-table, --add-locks, --create-options,
--quick, --extended-insert, --lock-tables, --set-charset,
and --disable-keys. Enabled by default, disable with
--skip-opt.
--order-by-primary Sorts each table's rows by primary key, or first unique
key, if such a key exists. Useful when dumping a MyISAM
table to be loaded into an InnoDB table, but will make
the dump itself take considerably longer.
-p, --password[=name]
Password to use when connecting to server. If password is
not given it's solicited on the tty.
-P, --port=# Port number to use for connection.
--protocol=name The protocol of connection (tcp,socket,pipe,memory).
-q, --quick Don't buffer query, dump directly to stdout.
-Q, --quote-names Quote table and column names with backticks (`).
--replace Use REPLACE INTO instead of INSERT INTO.
-r, --result-file=name
Direct output to a given file. This option should be used
in MSDOS, because it prevents new line '\n' from being
converted to '\r\n' (carriage return + line feed).
-R, --routines Dump stored routines (functions and procedures).
--set-charset Add 'SET NAMES default_character_set' to the output.
Enabled by default; suppress with --skip-set-charset.
-O, --set-variable=name
Change the value of a variable. Please note that this
option is deprecated; you can set variables directly with
--variable-name=value.
--single-transaction
Creates a consistent snapshot by dumping all tables in a
single transaction. Works ONLY for tables stored in
storage engines which support multiversioning (currently
only InnoDB does); the dump is NOT guaranteed to be
consistent for other storage engines. While a
--single-transaction dump is in process, to ensure a
valid dump file (correct table contents and binary log
position), no other connection should use the following
statements: ALTER TABLE, DROP TABLE, RENAME TABLE,
TRUNCATE TABLE, as consistent snapshot is not isolated
from them. Option automatically turns off --lock-tables.
--dump-date Put a dump date to the end of the output.
--skip-opt Disable --opt. Disables --add-drop-table, --add-locks,
--create-options, --quick, --extended-insert,
--lock-tables, --set-charset, and --disable-keys.
-S, --socket=name Socket file to use for connection.
-T, --tab=name Creates tab separated textfile for each table to given
path. (creates .sql and .txt files). NOTE: This only
works if mysqldump is run on the same machine as the
mysqld daemon.
--tables Overrides option --databases (-B).
--triggers Dump triggers for each dumped table
--tz-utc SET TIME_ZONE='+00:00' at top of dump to allow dumping of
TIMESTAMP data when a server has data in different time
zones or data is being moved between servers with
different time zones.
-u, --user=name User for login if not current user.
-v, --verbose Print info about the various stages.
-V, --version Output version information and exit.
-w, --where=name Dump only selected records; QUOTES mandatory!
-X, --xml Dump a database as well formed XML.

Variables (--variable-name=value)
and boolean options {FALSE|TRUE} Value (after reading options)
--------------------------------- -----------------------------
all TRUE
all-databases FALSE
all-tablespaces FALSE
no-tablespaces FALSE
add-drop-database FALSE
add-drop-table TRUE
add-locks TRUE
allow-keywords FALSE
character-sets-dir (No default value)
comments TRUE
compatible (No default value)
compact FALSE
complete-insert FALSE
compress FALSE
create-options TRUE
databases FALSE
debug-check FALSE
debug-info FALSE
default-character-set utf8
delayed-insert FALSE
delete-master-logs FALSE
disable-keys TRUE
events FALSE
extended-insert TRUE
fields-terminated-by (No default value)
fields-enclosed-by (No default value)
fields-optionally-enclosed-by (No default value)
fields-escaped-by (No default value)
first-slave FALSE
flush-logs FALSE
flush-privileges FALSE
force FALSE
hex-blob FALSE
host (No default value)
insert-ignore FALSE
lines-terminated-by (No default value)
lock-all-tables FALSE
lock-tables TRUE
log-error (No default value)
master-data 0
max_allowed_packet 16777216
net_buffer_length 1046528
no-autocommit FALSE
no-create-db FALSE
no-create-info FALSE
no-data FALSE
order-by-primary FALSE
port 3306
quick TRUE
quote-names TRUE
replace FALSE
routines FALSE
set-charset TRUE
single-transaction FALSE
dump-date TRUE
socket /tmp/mysql.sock
tab (No default value)
triggers TRUE
tz-utc TRUE
user (No default value)
verbose FALSE
where (No default value)

[root@colinux tmp]#

参考にさせて頂いたページ


Improving MySQL’s default configuration

MySQL InnoDBストレージエンジンのチューニング(前編)

MySQL InnoDBストレージエンジンのチューニング(後編)

[PDF]MySQL Server 5.0 設定手順書 Red Hat Enterprise Linux 4

UTF-8とUCS2

LOCK TABLESと UNLOCK TABLES

MySQL Performance Blog

13.5.6.2. MyISAM テーブルを InnoDB に変換する

InnoDB 起動オプションとシステム変数

AUTO_INCREMENT の使用

MERGE ストレージエンジン

mysqldump — データベースバックアッププログラム

mysqldump を使用したバックアップ(SLAVE)

CHANGE MASTER TO 構文

MySQL レプリケーションの設定

現場指向のレプリケーション詳説

InnoDB データベースを別のマシンに移動する

テーブルのデフラグメント化

MEMORY (HEAP) ストレージエンジン

MySQL Forums :: Memory Storage Engine

FEDERATED ストレージエンジン

クラッシュからのリカバリ

MyISAMとInnoDB

mysqlbinlog — Utility for Processing Binary Log Files

mysqldump — A Database Backup Program

OSDL DBT-1 (ODBC版) による MySQL 5.0 性能測定

[PDF]MySQL 5.0 日本語設定ガイド

Windows のサービスとして MySQL を起動する

MYSQLオプションファイルの使用

mysqlimport — データインポートプログラム

MySQL サーバ タイプの選択

SQL モード

SQL サーバーを調整する

cp932のキャラクタセット

MERGE ストレージエンジン

InnoDB 起動オプションとシステム変数

INFORMATION_SCHEMA データベース

SHOW 構文

MySQL5開拓団(ストレージエンジンの吟味)

max_connectionsとthread_cacheのチューニング

MySQLシステム変数

mysqlbinlog — バイナリログファイルを処理するためのユーティリティ

[PDF]MySQL Server 5.0 サイジング情報

[PDF]MySQL インフラ設計

5分でできる、MySQLのメモリ関係のチューニング!

性能評価情報

InnoDB vs MyISAM パフォーマンス測定環境

Web高速化

複数の Windows サーバをサービスとして起動

ProFTPD ~ MySQLを使用したアカウント管理 編 ~

INFORMATION_SCHEMA EVENTS テーブル

INFORMATION_SCHEMA PROCESSLIST テーブル

MySQLTuner

Slow Query Log analyzes tools

MySQL Server 5.0 管理監視ガイド

プロファイリングで快適MySQLチューニング

12.5.5.33. SHOW PROFILES Syntax

12.5.1.3. GRANT 構文

12.1.2. ALTER TABLE 構文

4.9.4.3. テーブルの修復方法

11.7. 全文検索関数

When you try to connect from TCP ports greater than 5000 you receive the error ‘WSAENOBUFS (10055)’

2.3.15. Windows 上の MySQL と Unix 上の MySQL の比較


■インストールされているか調査

[root@localhost BACKUP]# rpm -q mysql
mysql-5.0.27-1.fc5

■詳細情報

[root@localhost BACKUP]#  rpm -q -i mysql
Name        : mysql                        Relocations: (not relocatable)
Version     : 5.0.27                            Vendor: Red Hat, Inc.
Release     : 1.fc5                         Build Date: 2006年11月24日 05時34分01秒
Install Date: 2007年04月15日 00時45分09秒      Build Host: hs20-bc2-4.build.redhat.com
Group       : Applications/Databases        Source RPM: mysql-5.0.27-1.fc5.src.rpm
Size        : 6047337                          License: GPL
Signature   : DSA/SHA1, 2006年11月28日 00時01分06秒, Key ID b44269d04f2a6fd2
Packager    : Red Hat, Inc. <http://bugzilla.redhat.com/bugzilla>
URL         : http://www.mysql.com
Summary     : MySQL のクライアントプログラムと共有ライブラリ。
Description :
MySQL is a multi-user, multi-threaded SQL database server. MySQL is a
client/server implementation consisting of a server daemon (mysqld)
and many different client programs and libraries. The base package
contains the MySQL client programs, the client shared libraries, and
generic MySQL files.
[root@localhost BACKUP]#

■インストールパス

[root@localhost BACKUP]#  rpm -q -l mysql
/etc/ld.so.conf.d/mysql-i386.conf
/etc/my.cnf
/usr/bin/msql2mysql
/usr/bin/mysql
/usr/bin/mysql_config
/usr/bin/mysql_find_rows
/usr/bin/mysql_tableinfo
/usr/bin/mysql_waitpid
/usr/bin/mysqlaccess
/usr/bin/mysqladmin
/usr/bin/mysqlbinlog
/usr/bin/mysqlcheck
/usr/bin/mysqldump
/usr/bin/mysqlimport
/usr/bin/mysqlshow
/usr/lib/mysql

■依存しているパッケージを表示

[root@localhost BACKUP]#  rpm -q -R mysql
/bin/sh
/bin/sh
/bin/sh
/bin/sh
/sbin/install-info
/sbin/ldconfig
/usr/bin/perl
bash
chkconfig
config(mysql) = 5.0.27-1.fc5
fileutils
grep

■インストールパッケージを調査

[root@localhost BACKUP]# rpm -qf /usr/bin/mysql
mysql-5.0.27-1.fc5

■どのようなファイルがインストールされるか事前調査

[root@localhost BACKUP]# rpm -qlp mysql-5.0.45-1.fc6.remi.x86_64.rpm
警告: mysql-5.0.45-1.fc6.remi.x86_64.rpm: ヘッダ V3 DSA signature: NOKEY, key ID 00f97f56
/usr/bin/msql2mysql
/usr/bin/mysql
/usr/bin/mysql_config
/usr/bin/mysql_find_rows
/usr/bin/mysql_tableinfo
/usr/bin/mysql_waitpid
/usr/bin/mysqlaccess
/usr/bin/mysqladmin
/usr/bin/mysqlbinlog
/usr/bin/mysqlcheck
/usr/bin/mysqldump
/usr/bin/mysqlimport
/usr/bin/mysqlshow
/usr/lib64/mysql/mysql_config
/usr/lib64/mysql/mysqlbug
/usr/share/doc/mysql-5.0.45
/usr/share/doc/mysql-5.0.45/COPYING
/usr/share/doc/mysql-5.0.45/EXCEPTIONS-CLIENT
/usr/share/doc/mysql-5.0.45/README
/usr/share/info/mysql.info.gz
/usr/share/man/man1/mysql.1.gz
/usr/share/man/man1/mysql_find_rows.1.gz
/usr/share/man/man1/mysql_tableinfo.1.gz
/usr/share/man/man1/mysql_waitpid.1.gz
/usr/share/man/man1/mysqlaccess.1.gz
/usr/share/man/man1/mysqladmin.1.gz
/usr/share/man/man1/mysqldump.1.gz
/usr/share/man/man1/mysqlshow.1.gz
[root@localhost BACKUP]#

 

■パッケージの依存関係を調べる

[root@localhost BACKUP]# rpm -qRp mysql-5.0.45-1.fc6.remi.x86_64.rpm
警告: mysql-5.0.45-1.fc6.remi.x86_64.rpm: ヘッダ V3 DSA signature: NOKEY, key ID 00f97f56
/bin/sh
/bin/sh
/bin/sh
/sbin/install-info
/usr/bin/perl
bash
fileutils
grep
libc.so.6()(64bit)
libc.so.6(GLIBC_2.2.5)(64bit)
libc.so.6(GLIBC_2.3)(64bit)
libc.so.6(GLIBC_2.3.4)(64bit)
libc.so.6(GLIBC_2.4)(64bit)
libcrypt.so.1()(64bit)
libcrypto.so.6()(64bit)
libgcc_s.so.1()(64bit)
libm.so.6()(64bit)
libm.so.6(GLIBC_2.2.5)(64bit)
libmysqlclient.so.15()(64bit)
libmysqlclient.so.15(libmysqlclient_15)(64bit)
libncurses.so.5()(64bit)
libnsl.so.1()(64bit)
libpthread.so.0()(64bit)
libpthread.so.0(GLIBC_2.2.5)(64bit)
libpthread.so.0(GLIBC_2.3.2)(64bit)
libssl.so.6()(64bit)
libstdc++.so.6()(64bit)
libstdc++.so.6(CXXABI_1.3)(64bit)
libz.so.1()(64bit)
mysql-libs = 5.0.45-1.fc6.remi
perl(DBI)
perl(Exporter)
perl(Fcntl)
perl(File::Temp)
perl(Getopt::Long)
perl(IPC::Open3)
perl(Sys::Hostname)
perl(strict)
rpmlib(CompressedFileNames) <= 3.0.4-1
rpmlib(PayloadFilesHavePrefix) <= 4.0-1
rtld(GNU_HASH)
[root@localhost BACKUP]#