12 件中 1 - 10 件を表示
次の 2 件 »
Displaying posts with tag: mysql shell (reset)
MySQL ShellのloadDumpが MySQL Error 1449 (HY000): The user specified as a definer ('xxx'@'%') does not exist で転けたり転けなかったりする

 

TL;DR

  • DEFINERが存在しないSQL SECURITY DEFINERなビューと、そのビューを使ったビューがある時にMySQL ShellのloadDumpが転けることも転けないこともある
    • mysqldumpからのリストアは100%転ける
  • 転けるのが正しい気がするけど何故か転けずに完了してしまうのが気になったのでこのエントリ

参考: 日々の覚書: MySQLの論理バックアップにおける2段階のViewのリストア

下準備。
ビューのDEFINERになっているアカウントをDROPして、「DEFINERが存在しないビュー」「そのビューを使ったビュー」を作る。

[さらに読む]
MySQL Shellのプロンプトをゼロからカスタマイズしてみんとす(変数の存在によって表示させるclassを変えるとか)

TL;DR

謎だったのだ。パッケージに一緒についてくる /usr/share/mysqlsh/prompt/ あたりに転がっているprompt.jsonのこのへんの記述。

  "segments": [
..
{
"classes": ["noschema%schema%", "schema"],
"bg": 242,
"fg": 15,
"shrink": "ellipsize",
"weight": -1,
"padding" : 1
},
..

[さらに読む]
MySQL Shellのプロンプトをゼロからカスタマイズしてみんとす(classとsegment)

TL;DR

前回作ったところから。


$ mysqlsh -S /usr/mysql/8.0.28/data/mysql.sock -uroot --database d1

root@150-95-141-50 [d1] (READ_WRITE)>

root@150-95-141-50 [d1] (READ_WRITE)> SHOW TABLES;
SyntaxError: Unexpected identifier

( ゚д゚) そう、何も指定していないのでこれはJavaScriptモードなのである。

メインで使う時はSQLモードなので、「SQLモードの時はこのまま、それ以外のモードの時はなんか出したい」と思う。

$ cat ~/.mysqlsh/prompt.json
{
"variables":
{
[さらに読む]
MySQL Shellのプロンプトをゼロからカスタマイズしてみんとす(サーバー変数&カスタム変数を使ってみる)

TL;DR

取り敢えず、 mysqlsh が最初に食おうとするプロンプト用のJSONファイルは ~/.mysqlsh/prompt.json, …

[さらに読む]
MySQL InnoDB Cluster/ReplicaSet 8.0.21で「mysqlrouterから参照されないように」設定する

TL;DR

まずはフツーにMySQL Shellでサンドボックスを3つばかり作る。

$ mysqlsh -- dba deploySandboxInstance 3306 { --password="" }
$ mysqlsh …
[さらに読む]
CentOS 7のAMIでEC2を起動してGroup Replicationを組むところまでを何も考えずに

TL;DR

  • 毎回ちょこちょこ打ち込むのが面倒になったのでコピペ用に
  • まだGroup Replicationを調べるのがメインなのでMySQL Routerはどうにもしてない

Group Replicationに加わる全てのノードで

sudo -i
setenforce 0
yum install -y https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
yum install -y mysql-community-server mysql-shell
mysqld --initialize-insecure --user=mysql
systemctl start mysqld

cluster_user="gradmin"
cluster_pass="grtest"
cluster_name="myfabric"

mysqlsh -- shell.options set_persist history.autoSave true
mysqlsh --uri=root:""@localhost -- dba configureInstance '' { --clusterAdmin=$cluster_user --clusterAdminPassword=$cluster_pass --interactive=false --restart=true }
until mysqladmin ping ; do
sleep 1
done

[さらに読む]
手探りでマイエスキューエルシェる!

TL;DR

  • ドキュメントを読むのが面倒だから “TAB” 補完でがんばってみた
    • 優秀


この記事は MySQL Advent Calendar 2019 の1日目の記事です!

MySQL Shell は遊んでみたいけど、ドキュメントは読みたくない(面倒だから)
タブ補完だけでどんなメソッドがあるか探索しにいく!

$ mysqlsh
MySQL Shell 8.0.18

Copyright (c) 2016, 2019, 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 '\?' for help; '\quit' to exit.
MySQL JS > a^C
[さらに読む]
InnoDB Clusterの構築だけMySQL Shellでやって、運用はSQLインターフェイスでやるのはアリ?

TL;DR

  • 調べたいこと
    • MySQL InnoDB Clusterの構築(と、その後の運用フェーズでメンバーの追加削除)だけMySQL Shellでやって、フェイルオーバーその他の動作はSQLインターフェイス( mysql コマンドまたはスクリプトなど) からだけできるか?
    • できた
  • …というちょっとした検証をしたい時にMySQL Shellは便利

日々の覚書: MySQL Shellのdba.deploySandboxInstanceでサクッとmysqldを起動する でやったのと同じ手順で、 ubuntu:latest (2019/11/12時点) なDockerコンテナに mysql-community-server, mysql-shell, mysql-router-community

[さらに読む]
MySQL Shellのdba.deploySandboxInstanceでサクッとmysqldを起動する

TL;DR

  • いつからできたのかは知らないけれど、気が付いたらMySQL Shellに dba.deploySandboxInstance() なんてものが出来ていてそれが感動的に楽なので熱が冷めないうちにメモ

如何に「MySQLとMySQL Shell以外他に何もいらない」かの感動を伝えるために、 ubuntu:latest のDockerコンテナを起動しただけの状態から始めます。 取り敢えず、 MySQLのaptリポジトリ の依存に指定されてるやつらをインストール。

# apt update
# apt install wget lsb-release gnupg

MySQLのaptリポジトリ

[さらに読む]
DB Tech Showcase Tokyo 2018

DB Tech Showcase 2018 Tokyo

DB Tech Showcase 2018 TokyoにてInnoDB Clusterを用いた、MySQLの高可用性構成への取り組みに関して紹介させて頂きました。プロダクションのデータベースなので、これまでの機能紹介やシンプルなデモとは異なり、様々な確認や調整が必要で、DBのアップグレード以上に時間を割いている感じです。移行後は、シンプルにマスターを切り替える事で、MySQL Routerが自動的に接続を切り替えてくれるので非常に楽になります。
また、作業工数も大幅に削減出来るので、会社にとってもダウンタイムによる機会損失削減といったメリットだけでなく、エンジニアの工数削減によりサービス開発に専念が出来るようになり非常に良いソリューションだと考えています。

[さらに読む]
12 件中 1 - 10 件を表示
次の 2 件 »