2018年07月06日

MySQLパフォーマンスチューニング PDF

MySQLパフォーマンスチューニング概要 - Oracle さんのpdf



InnoDB パフォーマンス Tips

innodb_buffer_pool_size
 MySQL&InnoDBのみを利用していれば、メインメモリの80%程度を割り当てる
 データとインデックスの両方をキャッシュ

innodb_log_file_size

innodb_buffer_pool_sizeの25%?100%
 ログファイルがどの程度頻繁に切り替わっているかをチェック
 値を大きくするとクラッシュ後のリカバリ時間が長くなる
 innodb_flush_log_at_trx_commit
 1 (遅い) コミット時にログをフラッシュ。真のACID
 2 (速い) コミット時にはOSのキャッシュにログをフラッシュ、ディスクとのシンクは毎秒1回
 0 (最速) ログを毎秒1回(またはそれ以下)

起動中の変更は
mysql > set global innodb_flush_log_at_trx_commit = 2;
再起動は、不要のようです

posted by a23 at 17:38| Comment(0) | MySQL

2018年07月05日

MySQL insert 遅い でググってみた

300万程度のレコードの他のデータベースからのコンバートする。


たった3秒でInnoDBのデータローディングが快適になるライフハック 
バイナリログを無効にする
mysql> SET sql_log_bin=OFF;  
は試してみましたが、こちらのケースでは、有効では、ありませんでした。


MySQLインサートが遅いなと思ったらマルチプルインサートを試してみよう
は試してみましたが、こちらのケースでは、ツールの仕様で、上限が10万程度の制限がありました。

その場限りなら、下記のコマンドでサイズを増やすことができます。

set max_allowed_packet=[設定したい値];

恒久的にサイズを増やす場合は、/etc/my.cnfの下記を修正してください。

max_allowed_packet=16MB


LOAD  IMPORT を、試す

MySQLに大量のデータを入れるときに最適な方法は?


MySQLのLOAD DATA INFILEで大はまりした話
改行コードに注意 CR+LF


posted by a23 at 09:11| Comment(0) | MySQL

2017年06月27日

MySQL運用管理入門 CentOS6

42Page

1.4.3 Linux 上で tar ファイルのインストールをCentsOS6(64bit)で実行してみた


cd /home
wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.18-linux-glibc2.5-x86_64.tar.gz

01_wget.png
tar zxvf mysql-5.7.18-linux-glibc2.5-x86_64.tar.gz
02_tar_zxvf.png

ls
03_ls.png
mysql-5.7.18-linux-glibc2.5-x86_64
フォルダを確認

cd /home/mysql-5.7.18-linux-glibc2.5-x86_64/bin

./mysqld --basedir=/home/mysql-5.7.18-linux-glibc2.5-x86_64 --initialize-insecure
04_
2017-06-27T09:48:03.509738Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2017-06-27T09:48:03.570826Z 0 [ERROR] Fatal error: Can't change to run as user 'mysql' ;  Please check that the user exists!

2017-06-27T09:48:03.570926Z 0 [ERROR] Aborting
posted by a23 at 18:52| Comment(0) | MySQL