[前][次][番号順一覧][スレッド一覧]

mysql:16580

From: 落合 司郎 <落合 司郎 <s.ochiai@xxxxxxxxxx>>
Date: Fri, 17 Apr 2020 18:56:58 +0900
Subject: [mysql 16580] Re=3a =5bmysql 16579=5d Re=3a =5bmysql 16577=5d WorkbenchのServer Statusの表示がおかしい?

yoku0825様

いつもお世話になります。


On 2020/04/17 16:48, yoku0825 wrote:
> こんにちは、yoku0825といいます。
> 
>> 単にWorkbenchのConfiguration File表示が間違っているということでしょうか?
> 
> 少なくともConfiguration Fileに関しては、MySQL Workbenchが認識しているファイルとMySQL
> Serverで実際に使っているファイルは「関係がありません」
混乱しますね。

私はWindowsのサービスとしてMySQLを起動しています。
そこで、もしかしたらと思って、MySQLを起動しているサービスのプロパティを確認したところ、「実行ファイルのパス:」に下記の通りiniファイルが指定されていました。
"C:\Program Files\MySQL\MySQL Server 8.0\bin\mysqld.exe" 
--defaults-file="C:\ProgramData\MySQL\MySQL Server 8.0\my.ini" MySQL80

この指定が有効となっていると考えられるのでしょうか?

> MySQL Workbenchに「MySQL
> Serverが実際に使っているものと同じものを指定してあげると、Workbench上でmy.iniが修正できるようになるよ」というものです。
> 
WorkbenchにServerが実際に使っているものと同じものを指定する方法がわかりません。
Workbenchに表示されているiniファイルのパスを書き換えられません。

> デフォルトが5.5になっているのは解せなくもありますが、ここで参照されている何かがおかしくなっているんだと思います。
> (MySQL Installerでインストールしたか、MySQL Workbench単体でインストールしたかにも寄りそう)
MySQL InstallerでインストールでサーバーとWorkbenchとをインストールしました。

> 
> ./res/mysql.profiles/Windows_(MySQL_5.5_Installer_Package).xml:
> <value type="string" key="sys.config.path">%ProgramData%\MySQL\MySQL
> Server 5.5\my.ini</value>
> ./res/mysql.profiles/Windows_(MySQL_5.7_Installer_Package).xml:
> <value type="string" key="sys.config.path">%ProgramData%\MySQL\MySQL
> Server 5.7\my.ini</value>
> ./res/mysql.profiles/Windows_(MySQL_5.6_Installer_Package).xml:
> <value type="string" key="sys.config.path">%ProgramData%\MySQL\MySQL
> Server 5.6\my.ini</value>
> ./res/mysql.profiles/Windows_(MySQL_8.0_Installer_Package).xml:
> <value type="string" key="sys.config.path">%ProgramData%\MySQL\MySQL
> Server 8.0\my.ini</value>
> 
> なおこの値、C:\Users\hogehoge\AppData\Roaming\MySQL\Workbench\server_instances.xml
> に記録され、
> MySQL Workbenchをアンインストールしてもこのディレクトリは残り続けるので、
> 一度誤認識されると再インストールしても変わらないとかWorkbenchにはそんなクセがあったりなかったりします…。
上記のxmlを確認しましたが、上記の”/res/mysql.profiles/”以下の値はありませんでした。

> 
> なお、MySQL Serverには「自分がどのmy.ini(my.cnf)を使って起動したか」は記録されません。
> かろうじて(?)「どのパラメーターがどのmy.ini(my.cnf)から読み込まれたか」はperformance_schemaに記録されるので、↓を参考に探してみてください。
> 
> https://gihyo.jp/dev/serial/01/mysql-road-construction-news/0031#sec1_h5
> 
オプションファイルは扱いが複雑なのですね。
私のWindowsサービスの実行ファイルのパスが--defaults-fileで指定されているので、そこで指定したファイルを読み込んでいるということですね。

--defaults-file	指定したオプションファイルのみを読み込む

また、同頁に書かれていた下記クエリーを発行したところ、VARIABLE_PATHの値は'C:\ProgramData\MySQL\MySQL 
Server 8.0\my.ini'となっていました。
SELECT * FROM performance_schema.variables_info WHERE variable_source <> 
'COMPILED';

上記のgihyoのページの情報はとても参考になりました。
ありがとうございました。

> 
>> Directriesに表示されているBase DirectryやData DirectryはC:\ProgramData\MySQL\MySQL
>> Server 8.0を指していますが
> 
> こちらの値はMySQL Serverの `SHOW VARIABLES LIKE 'basedir'` から取ってきているので正しいのだと思います。
`SHOW VARIABLES LIKE 'basedir'`も確認しました。
C:\ProgramData\MySQL\MySQL Server 
8.0 内のファイルのタイプスタンプを確認したところ、確かに日付が最新になっていました。

> 
> yoku0825,
> 

いつも、情報提供いただき、ありがとうございます。
'C:\ProgramData\MySQL\MySQL Server 
8.0\my.ini'のiniファイルをターゲットとして利用することにします。

> 
>> 2020年4月6日(月) 16:59 落合 司郎 <s.ochiai@xxxxxxxxxx>:
>>>
>>> いつもお世話になります。
>>>
>>> MySQL8.0.19(Windows用)をインストールし、MySQL Workbenchで利用しています。
>>>
>>> 1.my.ini
>>> MySQL WorkbenchのAdministrationタブのServer StatusでConfiguration
>>> Fileの内容が、C:\ProgramData\MySQL\MySQL Server
>>> 8.0\my.iniではなく、C:\ProgramData\MySQL\MySQL Server
>>> 5.5\my.iniを指していました。
>>> MySQL WorkbenchのAdministrationタブのOptions File画面最下部に表示されるConfiguration
>>> Fileの内容も同様です。
>>>
>>> 2.Base Directory
>>> MySQL WorkbenchのAdministrationタブのServer Status/Server
>>> Directriesに表示されているBase DirectryやData DirectryはC:\ProgramData\MySQL\MySQL
>>> Server 8.0を指していますが、Option FileのGeneral/Directriesの表示はMySQL Server
>>> 5.6を指しています。
>>>
>>> MySQL Server 5.5\my.iniの内容は下記の3行のみでした。
>>> [mysqld]
>>> basedir = "C:/Program Files/MySQL/MySQL Server 5.6"
>>> datadir = "C:/ProgramData/MySQL/MySQL Server 5.6/data"
>>>
>>> C:\ProgramData\MySQL\MySQL Server
>>> 8.0\my.iniは、[client][mysql][mysqld]の各セクションが記述されており、以下のようになっています。
>>> # Path to installation directory. All paths are usually resolved
>>> relative to this.
>>> # basedir="C:/Program Files/MySQL/MySQL Server 8.0/"
>>> # Path to the database root
>>> datadir=C:/ProgramData/MySQL/MySQL Server 8.0/Data
>>>
>>> 単にWorkbenchのConfiguration File表示が間違っているということでしょうか?
>>> どのiniファイルが適用されているのでしょうか?
>>> 教えてください。
>>>
>>> ちなみに、以下の環境で行っています。
>>> インストールしたファイル:mysql-installer-community-8.0.19.0.msi
>>> OS:Windows10
>>> MySQL:8.0.19(Win64用GPL)
>>> MySQL Workbench:8.0.17
>>>


[前][次][番号順一覧][スレッド一覧]

     16579 2020-04-17 16:48 [yoku0825 <yoku0825@x] Re: [mysql 16577] WorkbenchのServer Statusの表示がおかしい?
->   16580 2020-04-17 18:56 ┗[落合 司郎 <s.ochiai@] Re=3a =5bmysql 16579=5d Re=3a =5bmysql 16577=5d WorkbenchのServer Statusの表示がおかしい?
     16585 2020-05-05 18:05  ┗[落合 司郎 <s.ochiai@] Re=3a =5bmysql 16579=5d Re=3a =5bmysql 16577=5d WorkbenchのServer Statusの表示がおかしい?【自己解決】