mysql

mysql

AmazonLinux2にMariaDB10.2を入れたら【#mysql50#.rocksdb】

AmazonLinux2にMariaDB10.2系をインストールしたのですが、データベースにアクセスすると謎のテーブル【#mysql50#.rocksdb】とか言うのが増えています。削除しようとしても消えなかったり、謎です。調べてみると、既...
mysql

【CopyContentDetector】mysqlで処理が多くなりすぎて性能不足で遅くなった

CopyContentDetectorが障害気味になってしまったので、メモ。これです。■なんかmysqlが遅いどうも処理速度が遅かったのです。なんかPHPの処理タイムアウトも出てるし。確認してみるとどうもmysqlが遅くなっている様子。書き...
CentOS7

CentOS7.5にyumでmysql5.7をインストールする

CentOS7にyumでmysql5.7をインストールする方法です。■リポジトリを追加suやらsudoでスーパーユーザになってから以下を実行します。rpm -Uvh ■yumでインストールyumを利用してインストールします。yum inst...
mysql

mysqldumpを使って圧縮しておいたダンプファイルから一部のデータベースのみを抜きだす

■mysqldumpの--all-databasesオプションを付けて全データバックアップしたファイルから特定のデータベースだけ切り出す全データベースの情報を、mysqldumpを使ってファイルにバックアップしていました。こちらの記事のよう...
mysql

innodb_online_alter_log_max_size関係のエラーでALTER TABLEが止まった

■mysql5.6でオンラインDDLを流していたら途中で止まってしまったでかいテーブルに対してALTER TABLEを実行していたのですが、いきなり以下のようなエラーが出てALTERが止まってしまいました。ERROR 1799 (HY000...
mysql

InnoDBのテーブルが突然壊れて起動しなくなったので対応

CopyContentDetctorで障害が発生したのでメモです。■障害メールが来る以下のようなMysqlに接続できないメールが沢山届いて来ました。確認するとDBが停止していました。特に作業などしていなかったので突然でした。Database...
mysql

Mysqlでインデックスを使っていないクエリをログに残す方法

Mysqlでは時間の掛かったクエリをログに残すことができる、slow-query-logというオプションが存在します。指定した秒数以上かかった遅いクエリをログに残しておいてくれる機能です。更に、それだけではなくインデックスを利用しないで実行...
mysql

SELECT FOR UPDATEを利用するときに必ず確認すること

当然といえば当然なのですが、気をつけないといけないことを書いておきます。最近、死にかけました。CakePHPでSELECT FOR UPDATEを利用する方法はこちらでも紹介しています。■MyISAMでは利用できない当然といえば、当然です。...
mysql

絵文字をMysqlにInsertすると文字が途切れる現象の対応

Mysqlに文章をInsertしたときに、どうしても文章の途中でデータがバッサリ切れてしまう現象に遭遇しました。max_allow_packetに引っかかっているわけでもなく、カラムのデータ長の限界を超えているわけでもなく、エラーが出るわけ...
mysql

mysqldumpでテーブルロックを発生させない方法

オプションを何も付けずにmysqldumpでデータベースの中身をダンプしようとすると、テーブルロックがかかります。サービス運用中のサーバからデータのダンプをするときにテーブルロックがかかってしまうと、ダンプ中はサービスが止まってしまい大変な...
mysql

小規模から中規模のサイトに対応できるmysqlの設定サンプル

yumでインストールしたmysqlで最低限のmy.cnfの設定を紹介します。小規模〜中規模くらいまでなら大丈夫かと思います。インストールしたら、mysqlを起動する前にまず設定を変更しましょう。一度でも起動してしまうと、innodb_log...
mysql

mysqlのrootユーザのパスワードを変更する

mysqlのrootユーザのパスワード変更方法です。mysqlインストール後に必ずrootのパスワードを設定しておきましょう。mysqlコマンドで、mysqlにrootユーザでログインして以下のSQLを発行します。SET PASSWORD ...
mysql

mysqlのinnodb_log_file_sizeの設定を変更した時の対応

この記事でmysqlサーバの最低限の設定を書きました。my.cnfのinnodb_log_file_sizeの値を変更したあと、そのままmysqlを再起動すると起動しなくなったり、起動してもselectやupdateができなくなります。以下...
mysql

MysqlでNOW()を使うとキャッシュに乗らないのを解決したい

MySQLではキャッシュの機構がたくさんついています。その中でも、クエリキャッシュを有効に使えれば、速度は早くなります。ただし、【全く同じクエリ】でなければキャッシュに乗りません。select対象のテーブルがInsertまたはUpdateさ...
mysql

mysqlのログファイルを削除したときの手順

CentOS のyum でインストールしたmysqlは/var/log/mysql.logにログを出力します。このログファイルですが、削除や移動を行うとログの出力がされなくなります。そんな時は以下のコマンドを実行すると、ログが再読み込みされ...
mysql

【MYSQL】GRANT文で接続ユーザを作成する方法

■MYSQLのユーザ追加のSQLmysqlのユーザの作成のSQLです。mysqlサーバの設定変更はこちらの記事を参考にmy.cnfを変更してください。mysqlサーバを起動したら、まずはユーザを作成しましょう。rootユーザでmysqlサー...
mysql

圧縮しながらmysqldump&圧縮したファイルをmysqlに戻す

mysqlを運用しているとmysqldumpでテーブルの内容をダンプすることがあると思います。このダンプしたファイルですが、テキストファイルなのでとにかく容量が大きい!というわけで、圧縮をしながらmysqldumpをすることで、ローカルディ...