Your SlideShare is downloading. ×
0
Mysql casual talks vol4
Mysql casual talks vol4
Mysql casual talks vol4
Mysql casual talks vol4
Mysql casual talks vol4
Mysql casual talks vol4
Mysql casual talks vol4
Mysql casual talks vol4
Mysql casual talks vol4
Mysql casual talks vol4
Mysql casual talks vol4
Mysql casual talks vol4
Mysql casual talks vol4
Mysql casual talks vol4
Mysql casual talks vol4
Mysql casual talks vol4
Mysql casual talks vol4
Mysql casual talks vol4
Mysql casual talks vol4
Mysql casual talks vol4
Mysql casual talks vol4
Mysql casual talks vol4
Mysql casual talks vol4
Mysql casual talks vol4
Mysql casual talks vol4
Mysql casual talks vol4
Mysql casual talks vol4
Mysql casual talks vol4
Mysql casual talks vol4
Mysql casual talks vol4
Mysql casual talks vol4
Mysql casual talks vol4
Mysql casual talks vol4
Mysql casual talks vol4
Mysql casual talks vol4
Mysql casual talks vol4
Mysql casual talks vol4
Mysql casual talks vol4
Mysql casual talks vol4
Mysql casual talks vol4
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Mysql casual talks vol4

4,369

Published on

Mysql casual talks vol4

Mysql casual talks vol4

Published in: Technology, Education
0 Comments
8 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
4,369
On Slideshare
0
From Embeds
0
Number of Embeds
6
Actions
Shares
0
Downloads
12
Comments
0
Likes
8
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. MySQL5.6 プロダクション投入 2013/04/17 Kenji Matsuo 113年4月17日水曜日
  • 2. 自己紹介 • Kenji Matsuo • @matsukena • FreakOutでインフラエンジニアをやっ てます。 • 福岡から東京にきてまだ4ヶ月です。 213年4月17日水曜日
  • 3. アジェンダ • セットアップ • どうやって切り替えを行った? • はまったポイント • 今後やりたい事 313年4月17日水曜日
  • 4. セットアップ 413年4月17日水曜日
  • 5. パッケージ • MySQL-shared- compat-5.6.10-1.el6.x86_64 • MySQL-server-5.6.10-1.el6.x86_64 • MySQL-devel-5.6.10-1.el6.x86_64 • MySQL-client-5.6.10-1.el6.x86_64 513年4月17日水曜日
  • 6. 素直に本家から rpmを持ってきて インストール 613年4月17日水曜日
  • 7. class mysql { case $::operatingsystemrelease { /^5/: { $release = "rhel5" package { } [ /^6/: { "MySQL-client", $release = "el6" "MySQL-devel", } "MySQL-shared-compat", } ]: } ensure => "5.6.10-1.$release", }  package { "MySQL-server": ensure => "5.6.10-1.$release", require => [ File["/var/lib/mysql/ibdata"], File["/var/lib/mysql/iblog"], ], } 713年4月17日水曜日
  • 8. my.cnf 813年4月17日水曜日
  • 9. • performance_schema = off • table_cache → table_open_cache • explicit_defaults_for_timestamp • innodb_additional_mem_pool_sizeを 削除 913年4月17日水曜日
  • 10. どうやって 切り替えを行った? 1013年4月17日水曜日
  • 11. 変更前 1113年4月17日水曜日
  • 12. 変更途中 1213年4月17日水曜日
  • 13. 変更後 1313年4月17日水曜日
  • 14. はまったポイント 1413年4月17日水曜日
  • 15. mysqlデータベース内のInnoDBで 作成されたtableが壊れる。 1513年4月17日水曜日
  • 16. • ibdata1やib_logfileを削除して、 再起動するといきなり出た。 • エラーメッセージ [Warning] InnoDB: Cannot open table mysql/slave_master_info from the internal data dictionary of InnoDB though the .frm file for the table exists. See http://dev.mysql.com/ doc/refman/5.6/en/innodb-troubleshooting.html for how you can resolve the problem. [Warning] Info table is not ready to be used. Table mysql.slave_master_info cannot be opened. [ERROR] Error in checking mysql.slave_master_info repository info type of TABLE. [ERROR] Error creating master info: Error checking repositories. [ERROR] Failed to create or recover replication info repository. 1613年4月17日水曜日
  • 17. まず、該当のテーブルを消す! use mysql; DROP TABLE IF EXISTS `innodb_index_stats`; DROP TABLE IF EXISTS `innodb_table_stats`; DROP TABLE IF EXISTS `slave_master_info`; DROP TABLE IF EXISTS `slave_relay_log_info`; DROP TABLE IF EXISTS `slave_worker_info`; でも、.ibdは残っているのでこれも消す! rm -rf /var/lib/mysql/mysql/innodb_index_stats.ibd rm -rf /var/lib/mysql/mysql/innodb_table_stats.ibd rm -rf /var/lib/mysql/mysql/slave_master_info.ibd rm -rf /var/lib/mysql/mysql/slave_relay_log_info.ibd rm -rf /var/lib/mysql/mysql/slave_worker_info.ibd 1713年4月17日水曜日
  • 18. mysql_system_tablesから再作成!! use mysql; source /usr/share/mysql/mysql_system_tables.sql; 1813年4月17日水曜日
  • 19. Testが通らなくなる。 1913年4月17日水曜日
  • 20. 詳細は、 oranieさんのblogに 書いてあります。 2013年4月17日水曜日
  • 21. Test::mysqlでmysql_install_dbして いるところで、エラーになった。 エラーメッセージがなにもでない。 2113年4月17日水曜日
  • 22. 427 # ---------------------------------------------------------------------- 428 # This will be the default config file 429 # ---------------------------------------------------------------------- 430 431 $config_file= "$basedir/my.cnf"; 432 433 my $cfg_template= find_in_basedir($opt,"file","my-default.cnf", 434 "share","share/mysql","support-files"); 435 -e $cfg_template or cannot_find_file("my-default.cnf"); 436 437 $copy_cfg_file= $config_file; 438 if (-e $copy_cfg_file) 439 { 440 $copy_cfg_file = s/my.cnf/my-new.cnf/; 441 # Too early to print warning here, the user may not notice 442 } 443 open (TEMPL, $cfg_template) or error("Could not open config template"); 444 open (CFG, "> $copy_cfg_file") or error("Could not open config file"); 445 while (<TEMPL>) 446 { 447 # Remove lines beginning with # *** which are template comments 448 print CFG $_ unless /^# ***/; 449 } 450 close CFG; 451 close TEMPL; 2213年4月17日水曜日
  • 23. Testで いままでとおってた insertが エラーになる。 2313年4月17日水曜日
  • 24. デフォルトのsql_modeの設定が5.5 までは空だったのに5.6からは指定さ れていた。 /usr/my.cnfに明示的に書かれてい た。 2413年4月17日水曜日
  • 25. 5.5系 mysql> SELECT @@GLOBAL.sql_mode; +-------------------+ ¦ @@GLOBAL.sql_mode ¦ +-------------------+ ¦ ¦ +-------------------+ 1 row in set (0.00 sec) 5.6系 mysql> SELECT @@GLOBAL.sql_mode; +--------------------------------------------+ ¦ @@GLOBAL.sql_mode ¦ +--------------------------------------------+ ¦ STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION ¦ +--------------------------------------------+ 1 row in set (0.00 sec) 2513年4月17日水曜日
  • 26. GTIDがOnだと、 レプリケーションが 組めない 2613年4月17日水曜日
  • 27. • 環境 mysql5.5(Master) + mysql5.6(Slave) • エラーメッセージ root@localhost[(none)]> show slave statusG [...] Last_IO_Error: The slave IO thread stops because the master has GTID_MODE OFF and this server has GTID_MODE ON 2713年4月17日水曜日
  • 28. GTIDの設定 log-bin log-slave-updates gtid-mode=ON enforce-gtid-consistency GTIDを使用するには、レプリケーションを組む サーバ全体でGTIDを有効にする必要がある。 2813年4月17日水曜日
  • 29. GTIDの利用を断念 root@localhost[(none)]> show global variables like %gtid%; +--------------------------+----------------------------------------------+ ¦ Variable_name ¦ Value ¦ +--------------------------+----------------------------------------------+ ¦ enforce_gtid_consistency ¦ OFF ¦ ¦ gtid_executed ¦ 9ee58062-864d-11e2-a94b-003048b3b452:1-64049 ¦ ¦ gtid_mode ¦ OFF ¦ ¦ gtid_owned ¦ ¦ ¦ gtid_purged ¦ ¦ +--------------------------+----------------------------------------------+ 5 rows in set (0.00 sec) 2913年4月17日水曜日
  • 30. -p オプションを つけてるとwarningに 3013年4月17日水曜日
  • 31. • エラーメッセージ Warning: Using a password on the command line interface can be insecure. Welcome to the MySQL monitor. Commands end with ; or g. Your MySQL connection id is 476849 Server version: 5.6.10-log MySQL Community Server (GPL) Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type help; or h for help. Type c to clear the current input statement. root@localhost[(none)]> 3113年4月17日水曜日
  • 32. mysql_config_editorが 便利 3213年4月17日水曜日
  • 33. • 暗号化されたパスワードが 「.mylogin.cnf」に書かれるので、 「.my.cnf」に平文のパスワード書かなく てもいいから安心。 $ mysql_config_editor set --user=admin --password Enter password: <パスワード手入力> $ mysql_config_editor print --all [client] user = admin password = ***** 3313年4月17日水曜日
  • 34. セクションも指定できる。 mysql_config_editor set --login-path=mysqldump --user=root --password Enter password: <パスワード手入力> $ mysql_config_editor print --all [client] user = admin password = ***** [mysql] user = admin password = ***** [mysqladmin] user = root password = ***** 3413年4月17日水曜日
  • 35. mysqldumpでエラー 3513年4月17日水曜日
  • 36. • mysql5.6 から mysql5.5のdump をとるときにerrorになる。 • エラーメッセージ mysqldump: Couldnt execute SELECT @@GTID_MODE: Unknown system variable GTID_MODE (1193) 3613年4月17日水曜日
  • 37. --set-gtid-purgedをoffにすればいい あまり無いと思いますが、あえて5.5系とかの dumpをとる場合は、このオプションを付ける事 でgtidを使用した環境からのダンプファイルに以 下内容が出力されなくなります。 SET @@GLOBAL.GTID_PURGED=71803be2-7816-11e2-8c99-5254003e1cec:1-665; 3713年4月17日水曜日
  • 38. 今後の予定 3813年4月17日水曜日
  • 39. • GTIDをON • MHAの導入 3913年4月17日水曜日
  • 40. ご清聴ありがとう ございました。 4013年4月17日水曜日

×