Subscribed unsubscribe Subscribe Subscribe

ふり返る暇なんて無いね

日々のメモ書きをつらつらと

CloudWatch logsでログの日付表示をlocaltimeにしたい

aws CloudWatch logs

こんなところにあった。。。 気がつかないよ。。。。

Ubuntu16.04でtimezoneを変えたい

ubuntu16.04 timezone ubuntu linux

久しぶりにブログ書くな。

masasuzu.hatenablog.jp

上記記事、これあんまりよくなくて、Ubuntu的にはこう変えるのが良い。

UbuntuTime - Community Help Wiki

echo "Asia/Tokyo" > /etc/timezone
dpkg-reconfigure --frontend noninteractive tzdata

ただ、Ubuntu 16.04だとこれうまく変わってくれないので timedatectl を使ってあげる必要がある。

timedatectl set-timezone Asia/Tokyo

こんな感じですね。

root@lab:~# timedatectl status
      Local time: Thu 2017-02-09 14:42:40 JST
  Universal time: Thu 2017-02-09 05:42:40 UTC
        RTC time: Thu 2017-02-09 05:42:40
       Time zone: Asia/Tokyo (JST, +0900)
 Network time on: yes
NTP synchronized: yes
 RTC in local TZ: no
root@lab:~# timedatectl set-timezone Australia/Adelaide
root@lab:~# timedatectl status
      Local time: Thu 2017-02-09 16:12:44 ACDT
  Universal time: Thu 2017-02-09 05:42:44 UTC
        RTC time: Thu 2017-02-09 05:42:44
       Time zone: Australia/Adelaide (ACDT, +1030)
 Network time on: yes
NTP synchronized: yes
 RTC in local TZ: no
root@lab:~# timedatectl set-timezone Asia/Tokyo
root@lab:~# timedatectl status
      Local time: Thu 2017-02-09 14:42:54 JST
  Universal time: Thu 2017-02-09 05:42:54 UTC
        RTC time: Thu 2017-02-09 05:42:54
       Time zone: Asia/Tokyo (JST, +0900)
 Network time on: yes
NTP synchronized: yes
 RTC in local TZ: no

MySQLクライアントでパスワードを指定するいくつかの方法

mysql

MySQL :: MySQL 5.6 リファレンスマニュアル :: 6.1.2.1 パスワードセキュリティーのためのエンドユーザーガイドライン

ここの通りなんだけど。

コマンドラインで指定

簡単だけど、セキュアじゃないですね。コマンドラインヒストリーに残る場合もあるし。

-pの後にスペースを入れないのがポイント

mysql -u USER -pPASSWORD

プロンプトで入力

一般的な方法ですね。

mysql -u USER -p

設定ファイルから読み取る

~/.my.cnfを作っておくとそこから設定を読み取ってくれます。パスワード情報は他のユーザから読み取られないようにパーミッションを気を付けておくと良いでしょう。 (でも平文のパスワードをファイルで保存するのは良い手ではないです。

cat > ~/.my.cnf <<...
[client]
user=USER
password=PASSWORD
...

chmod 600 .my.cnf

mysql

環境変数から読み取る

この方法はpsコマンドでパスワードが他のユーザから見られてしまう可能性があるので基本的には使ってはいけません。

MYSQL_PWD=PASSWORD mysql -u USER

Ubuntu16.04上のMySQL5.7でChange limitsとか言われる件

ubuntu ubuntu16.04 mysql5.7 mysql systemd

MySQLのエラーログを見てるとこんなこと言われるのですが、

2016-06-09T06:53:07.219882Z 0 [Warning] Changed limits: max_open_files: 1024 (requested 5010)
2016-06-09T06:53:07.219948Z 0 [Warning] Changed limits: max_connections: 214 (requested 1000)
2016-06-09T06:53:07.219954Z 0 [Warning] Changed limits: table_open_cache: 400 (requested 2000)

そんなときは、/lib/systemd/system/mysql.serviceserviceセクションにLimitNOFILE=65535を足してあげて、下記の様に再起動してあげると良いです。

systemctl daemon-reload
systemctl restart mysql

しかし、このwarnins、log_timestamps = systemってmy.cnfに入れておいてもUTCでタイムスタンプ出力するんですよね。。。。