web-dev-qa-db-ja.com

ProxySQLユーザーが接続しない-XtraDB

3つのノードで構成されるxtraDBクラスターをセットアップしようとしています。これでクラスターが起動して実行されました。指示に従って、負荷分散のためにProxySQLを設定しようとしています。

したがって、3つのノードすべてにproxySQLをインストールしました。そして今、私はそれを管理ツールで構成しようとしています。しかし、私がコマンドを実行するたびに:

[root@node1 log]# proxysql-admin --config-file=/etc/proxysql-admin.cnf --enable

それは戻ってきます:

このスクリプトはProxySQLの構成を支援します(現在、ProxySQLと組み合わせたPercona XtraDBクラスターのみがサポートされています)

ProxySQL read/write configuration mode is singlewrite
ERROR 1045 (28000): ProxySQL Error: Access denied for user 'proxysql_admin'@'' (using password: YES)
Please check the ProxySQL connection parameters! Terminating.

今、私はエラーがかなり簡単です。ただし、MySQLクラスターと.cnfファイルの両方で適切に定義されたユーザーproxysql_adminがあります。

ここに私のproxysql-admin.cnfファイルがあります:

# proxysql admin interface credentials.
export PROXYSQL_DATADIR='/var/lib/proxysql'
export PROXYSQL_USERNAME='proxysql_admin'
export PROXYSQL_PASSWORD='placeholder_pass'
export PROXYSQL_HOSTNAME='localhost'
export PROXYSQL_PORT='6032'

# PXC admin credentials for connecting to pxc-cluster-node.
export CLUSTER_USERNAME='proxysql_admin'
export CLUSTER_PASSWORD='placeholder_pass'
#export CLUSTER_HOSTNAME='localhost'
export CLUSTER_HOSTNAME='ccloud'
export CLUSTER_PORT='3306'

# proxysql monitoring user. proxysql admin script will create this user in pxc to monitor pxc-nodes.
export MONITOR_USERNAME='monitor'
export MONITOR_PASSWORD='placeholder_pass'

# Application user to connect to pxc-node through proxysql
export CLUSTER_APP_USERNAME='proxysql_user'
export CLUSTER_APP_PASSWORD='placeholder_pass'

# ProxySQL read/write hostgroup 
export WRITE_HOSTGROUP_ID='10'
export READ_HOSTGROUP_ID='11'

# ProxySQL read/write configuration mode.
export MODE="singlewrite"

# ProxySQL Cluster Node Priority File
export Host_PRIORITY_FILE=$PROXYSQL_DATADIR/Host_priority.conf

Mysqlクラスターのユーザーは次のとおりです。

mysql> select User,Host from mysql.user;
+----------------+-----------+
| User           | Host      |
+----------------+-----------+
| proxysql_admin |           |
| proxysql_admin | %         |
| mysql.session  | localhost |
| mysql.sys      | localhost |
| proxysql_admin | localhost |
| proxysql_user  | localhost |
| root           | localhost |
| sstuser        | localhost |
+----------------+-----------+

インターフェイスを何度か変更してみましたが、問題はないようです。ユーザーが接続していない理由を誰かが知っていますか?

念のため、これを試しているノードのクラスターのmy.cnfを次に示します。

#
# The Percona XtraDB Cluster 5.7 configuration file.
#
#
# * IMPORTANT: Additional settings that can override those from this file!
#   The files must end with '.cnf', otherwise they'll be ignored.
#   Please make any edits and changes to the appropriate sectional files
#   included below.
#
!includedir /etc/my.cnf.d/
!includedir /etc/percona-xtradb-cluster.conf.d/

[mysqld]
server-id=1
datadir=/mysql-data
socket=/mysql-data/mysql.sock
pid-file=/var/run/mysqld/mysqld.pid

wsrep_provider=/usr/lib64/galera3/libgalera_smm.so

wsrep_cluster_name=ccloud
wsrep_cluster_address=gcomm://ip1,ip2,ip3

wsrep_node_name=pxc1
wsrep_node_address=ip1

wsrep_sst_method=xtrabackup-v2
wsrep_sst_auth=sstuser:placeholder_pass

pxc_strict_mode=ENFORCING

binlog_format=ROW
default_storage_engine=InnoDB
innodb_autoinc_lock_mode=2
1
Jdeboer

私はProxySQLでmysqlユーザーテーブルに管理ユーザーを手動で作成したことがわかりましたが、これは許可されていません。

Proxysqlデータベースファイル/var/lib/proxysql/proxysql.dbを削除し、proxysqlサービスを再起動(デフォルトデータベースにロールバック)することで、この問題は修正されました。

以下にも記載されています https://github.com/sysown/proxysql/issues/709

0
Jdeboer

Proxysql dbにユーザーproxysql_adminがないようです。デフォルトのproxysqlユーザー資格情報(admin/admin)を使用してください。

0