mysqldが起動できないバグなのか、「 avoid_temporal_upgrade
なんてことすると将来的にサポート対象外だよ」がドキュメントに記載されてないのかどっちだか迷っている。 MySQL
Bugs: #93101: Failed to Populate DD tables when table has
OLD-Style DATETIME column (need Doc) MySQL
5.6からDATETIME型のデータ構造が新しくなった。 日々の覚書: あなたのMySQL 5.6トレンド力をチェックする15の質問 MySQL
5.5とそれ以前で CREATE TABLE
したテーブルは8バイトの旧DATETIME型、MySQL
5.6とそれ以降で CREATE TABLE
…
MySQL 5.7の時点で既に宣言はされていた。 GROUP BY implicitly sorts by default (that is, in the absence of ASC or DESC designators), but relying on implicit GROUP BY sorting in MySQL 5.7 is deprecated. MySQL :: MySQL 5.7 Reference Manual :: 1.4 What Is New in MySQL 5.7 どういうことが起こるかというと、こう。
$ perl -ML -E 'for (my $n= 1; $n <= 10; $n++) { for (my $m= 1; $m <= 100; $m++) { printf("%d\t%d\n", $n, $m) } }' | sort -R > /tmp/seq
mysql80 165> CREATE TABLE t1 (n int, m int);
Query OK, 0 rows affected (0.05 sec)
mysql80 165> LOAD DATA INFILE '/tmp/seq' INTO TABLE t1;
Query OK, 1000 rows affected (0.09 sec)
Records: 1000 Deleted: 0 Skipped: 0 Warnings: 0
mysql80 165> SELECT * FROM t1 LIMIT 10;
+------+------+
| n | m …
[さらに読む]
$ perror 1290
MySQL error code MY-001290 (ER_OPTION_PREVENTS_STATEMENT): The MySQL server is running with the %s option so it cannot execute this statement
要は、「 %s
だからそのSQLは実行できないよ」というエラー。
%s
の部分に何が入るかは何パターンかあるけど、基本的にオプションの名前が入るので、SQLを成功させたければ
%s
をOFFにしてやれば上手くいくはず。 MySQL 5.7.24 のコードから
ER_OPTION_PREVENTS_STATEMENT
を投げるところを引いてみた感じ、あり得る
%s
のパターンはたぶんこう。
TL;DR
version | passwordカラム(CHAR(41) NOT NULL) | authentication_stringカラム(TEXT NULL) | pluginカラム | 認証プラグインの選択 |
---|---|---|---|---|
5.0.96 | パスワードハッシュ | カラムなし | カラムなし | ダイジェスト長 |
5.1.73 | パスワードハッシュ | カラムなし | カラムなし | ダイジェスト長 |
5.5.62 | パスワードハッシュ | 常に空文字 | 認証プラグイン | … |
良いInnoDBプライマリキーを選ぶことは、パフォーマンスチューニングの方向性にとても重要です。この記事では、あなたのワークロードに応じた最適なプライマリキーを選ぶための方法を紹介したいと思います。
…
[さらに読む]TL;DR
- デフォルトロールはログイン時に有効化
-
mandatory_roles
はログイン時に有効化されない、全ユーザーからSET ROLE
できるロール - ロールのホスト部は意味を持たないような気がする(
role@127.0.0.1
は192.168.0.0
なアカウントにも割り当てができる) -
activate_all_roles_on_login = ON
にすると、デフォルトロールも割り当てたロールもmandatory_roles
も全部いっぺんにログイン時に有効になる
ロールの有効化 | ロールの作成 | ロールの割り当て | 割り当ての解除 | |
---|---|---|---|---|
ロール |
SET ROLE … |
OSC2018-Tokyo/Fall(オープンソースカンファレンス2018東京秋)に参加してきました。
いつもの通り、日本MySQLユーザ会としてブースを出しつつ、でも結構うろうろしながら他のブースの方ともお話したり、自由で楽しく参加させてもらいました。
東京のOSCは、千葉県在住の身からは「非常に遠い」会場で開催されるので、よほどのモチベーションがなければ参加しない方針だったのですが、今年は
MySQL 8.0 の …
エンジニア以外のメンバーが気軽にデータベースを参照出来るツールは無いかと見てみたら、metabaseは使い勝手が良さそうだなと感じました。
1) アカウントを複数作成出来る
2) グループに分けられる
3) クエリーを使うこともGUIで参照する事も可能
4) Slackやメールとの連携が可能
5) OpenSourceである事。(翻訳に協力しようと考えてます)
6) 管理工数、セットアップが容易
7) ビジネス側のメンバーが容易にグラフで状況を理解する事が可能
8) 非エンジニアでも、SQLを少し学べばカスタマイズ出来る事(日付範囲等)
インストール (CentOS7を利用しています)
Javaのバージョンが要件を満たしていれば、metabase.jarをダウンロードしきて実行するだけ。
[root@GA01 …[さらに読む]
$ mysql80 -h 127.0.0.1 -u yoku0825 --ssl-mode=disabled -p
Enter password:
ERROR 2061 (HY000): Authentication plugin 'caching_sha2_password' reported error: Authentication requires secure connection.
このエラーになる条件。
-
caching_sha2_password
プラグインを使っているアカウント
かつ - まだサーバー側にSHA2キャッシュが作られていないアカウント
かつ - サーバーの公開鍵を指定していない非SSLのTCP接続
この条件に合致しているとログインが転けて↑のエラーを食らう。 解決策1.
caching_sha2_password
プラグインをやめて
mysql_native_password
プラグインを指定する
mysql> ALTER USER yoku0825 IDENTIFIED WITH mysql_native_password BY 'new_password`;
解決策2. …
[さらに読む]