mysql

Mysql8 に接続できないとき

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO) MariaDBと同じく、ログイン認証プラグインがかわり、現在のユーザーとmysqlにログインしようとしているユーザーが異なるとログインできない状態になっている。 そのま…

AWS Mysql に IAM Role で接続する

MySQL 5.6 マイナーバージョン 5.6.34 以降、MySQL 5.7 マイナーバージョン 5.7.16 以降、Amazon Aurora 1.10 以降 で対応している。ただし、1秒間あたりの接続開始の認証回数が20回と少ないため、アクセスの多いシステムでは採用できない。 IAM データベー…

mysql5.7 の 注意点 (< 5.7.11)

RDS 上で mysql 5.7 を使うときに覚えておかなければならないことは一つで、default_password_lifetime この値が、5.7.10 以下の時、360 になっています。 SELECT @@default_password_lifetime; つまり360日で期限切れになりログインできなくなります。RDS …

Rails5 ActiveRecord で select をする時の高速化便利関数

select 高速化のヒント class Parent has_many :childs end class Child belongs_to :parent end has_many の配列データ側を絞り込む。なければ parent も返らない。 Parent.includes(:childs).where("childs.age > ?", 20).references(:childs) belongs_to …

AWS Lambda で、 python から mysql に接続する

aws lambda で python から mysql が使いたい場合は、 $ pip install mysql-python -t . $ vi lambda_function.py ...さらに、`libmysqlclient.so.*` がないと起動できない。http://www.filewatcher.com/ ここなどで適当なファイルをダウンロードし、同じフ…

nginx Rails Mysql の構成で、アクセス負荷に耐えるためとりあえずやっておくこと

Too many open files nginx (/etc/nginx/nginx.conf) # CPU と同じ数 worker_processes 8; # worker_connections の 4倍程度 # failed (24: Too many open files) に対処できる。 worker_rlimit_nofile 40960; events { # とりあえずこの値 worker_connectio…

heroku の Postgres のデータを、独自サーバーの mysql へ転送する

アップロード先 mysqlのサーバー起動 $ gem install taps $ gem install mysql $ taps server mysql://root@localhost/releasenote_stg?encoding=utf8 <basic認証名前> <basic認証パスワード> 5000 番ポートでサーバーが立ち上がります。 サーバーIP アドレスを確認しておく。 コピー元のheroku </basic認証パスワード></basic認証名前>…

ActiveRecord で Trigger を使用する

hair_trigger というgem があったがエラーが出て機能しなかった。execute メソッドで直接SQLを実行することになる。migrate 実行順が影響するので、migration ファイルを別に作成 $ ./script/rails g migration trigger_photos たとえば以下のようにsqlを流…

mysql 権限の設定

設定例 権限を設定 grant ALTER, CREATE, DELETE, DROP, INDEX, Select,Update,Insert,Delete ON <DB>.* to '<user>'@'<host>' IDENTIFIED BY '<password>'; grant ALTER, CREATE, DELETE, DROP, INDEX, Select,Update,Insert,Delete ON <DB>.* TO '<name>'@'localhost'; grant ALTER, CREATE, DE</name></db></password></host></user></db>…