- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试连接到 Azure 中的 MariaDB TX 2.0 集群,但它不起作用。我在配置步骤中创建了一个公共(public)负载均衡器,部署后我获得了一个 IP 地址和一个主机名。
示例
mymariadb.westus.cloudapp.azure.com
mysql 连接字符串:
mysql -h mymariadb.westus.cloudapp.azure.com -P 4006 -u myapp -pmypassword mydb
我收到此错误:
mysql: [Warning] Using a password on the command line interface can be insecure.
**ERROR 2003 (HY000): Can't connect to MySQL server on 'mymariadb.westus.cloudapp.azure.com' (110)**
有什么想法为什么我无法连接到 MariaDB 集群吗?
我还尝试连接到其中一个 maxscaller 并从那里连接到一台数据库服务器 -> 这有效。
谢谢!
更新:
谢谢你的帖子。首先,我不可能运行 maxadmin:
Unable to connect to MaxScale at /tmp/maxadmin.sock: No such file or directory
我检查日志,发现监听器有问题
2018-05-15 20:18:03 error : Creation of listener 'Read-Connection-Listener' for service 'Read Connection Router' failed, because both 'socket' and 'port' are defined. Only either one is allowed.
2018-05-15 20:18:03 error : Creation of listener 'Write-Connection-Listener' for service 'Write Connection Router' failed, because both 'socket' and 'port' are defined. Only either one is allowed.
2018-05-15 20:18:03 error : Creation of listener 'RW-Split-Listener' for service 'RW Split Router' failed, because both 'socket' and 'port' are defined. Only either one is allowed.
还可以找到这个:
2018-05-15 20:18:03 warning: Protocol module 'mysqlbackend' has been deprecated, use 'mariadbbackend' instead.
希望您(作为 MariaDB 专家)可以帮助我解决这个问题!
谢谢您并致以问候!
更新2
这是我的 cnf 文件(我没有做任何更改)。这应该是正确的并且有效,对吧?
[CLI]
type=service
router=cli
[RW Split Listener]
type=listener
service=RW Split Router
protocol=MySQLClient
port=4006
socket=/var/lib/maxscale/rwsplit.sock
[Write Connection Listener]
type=listener
service=Write Connection Router
protocol=MySQLClient
port=4007
socket=/var/lib/maxscale/writeconn.sock
[Read Connection Listener]
type=listener
service=Read Connection Router
protocol=MySQLClient
port=4008
socket=/var/lib/maxscale/readconn.sock
[CLI Listener]
type=listener
service=CLI
protocol=maxscaled
socket=/tmp/maxadmin.sock
[MaxInfo]
type=service
router=maxinfo
[MaxInfo JSON Listener]
type=listener
service=MaxInfo
protocol=HTTPD
port=8003
address=localhost
[db1]
type=server
address=172.16.4.4
port=3306
protocol=MySQLBackend
[db2]
type=server
address=172.16.4.5
port=3306
protocol=MySQLBackend
[db3]
type=server
address=172.16.4.6
port=3306
protocol=MySQLBackend
更新3:
我进行了您建议的更改并尝试使用 maxadmin 命令:
2018-05-18 07:12:58 error : Creation of listener 'Read-Connection-Listener' for service 'Read Connection Router' failed, because both 'socket' and 'port' are defined. Only either one is allowed.
2018-05-18 07:12:58 error : Creation of listener 'Write-Connection-Listener' for service 'Write Connection Router' failed, because both 'socket' and 'port' are defined. Only either one is allowed.
2018-05-18 07:12:58 error : Creation of listener 'RW-Split-Listener' for service 'RW Split Router' failed, because both 'socket' and 'port' are defined. Only either one is allowed.
2018-05-18 07:12:58 notice : Monitor 'Galera-Monitor' is missing the 'journal_max_age' parameter, using default value of 28800 seconds.
2018-05-18 07:12:58 notice : Monitor 'Galera-Monitor' is missing the 'script_timeout' parameter, using default value of 90 seconds.
2018-05-18 07:12:58 error : 3 errors were encountered while processing the configuration file '/etc/maxscale.cnf'.
2018-05-18 07:12:58 error : Failed to open, read or process the MaxScale configuration file /etc/maxscale.cnf. Exiting.
2018-05-18 07:12:58 MariaDB MaxScale is shut down.
----------------------------------------------------
me@mdbec-max1:~$ maxadmin
Unable to connect to MaxScale at /tmp/maxadmin.sock: No such file or directory
更新4
[maxscale]
threads=4
datadir=/var/lib/maxscale/data/
#[MySQL Monitor]
#type=monitor
#module=mysqlmon
#servers=server1,server2,server3
#user=myuser
#passwd=mypwd
#monitor_interval=10000
#backend_connect_timeout=
#backend_read_timeout=
#backend_write_timeout=
#detect_replication_lag=
#detect_stale_master=
[Galera Monitor]
type=monitor
module=galeramon
servers=db1,db2,db3
user=maxscalemonitor
passwd=I-DELETE-THIS-LINE
monitor_interval=1000
#disable_master_failback=
[qla]
type=filter
module=qlafilter
filebase=/tmp/QueryLog
[fetch]
type=filter
module=regexfilter
match=fetch
replace=select
[hint]
type=filter
module=hintfilter
[Write Connection Router]
type=service
router=readconnroute
servers=db1,db2,db3
user=maxscalemonitor
passwd=I-DELETE-THIS-LINE
router_options=master
localhost_match_wildcard_host=1
version_string=10.2.14-MariaDB Cluster
[Read Connection Router]
type=service
router=readconnroute
servers=db1,db2,db3
user=maxscalemonitor
passwd=I-DELETE-THIS-LINE
router_options=synced
localhost_match_wildcard_host=1
version_string=10.2.14-MariaDB Cluster
[RW Split Router]
type=service
router=readwritesplit
servers=db1,db2,db3
user=maxscalemonitor
passwd=I-DELETE-THIS-LINE
max_slave_connections=100%
localhost_match_wildcard_host=1
version_string=10.2.14-MariaDB Cluster
router_options=disable_sescmd_history=true
#use_sql_variables_in=master
#max_slave_replication_lag=21
#filters=hint|fetch|qla
#router_options=slave_selection_criteria=LEAST_CURRENT_OPERATIONS
[CLI]
type=service
router=cli
[RW Split Listener]
type=listener
service=RW Split Router
protocol=MySQLClient
port=4006
socket=/var/lib/maxscale/rwsplit.sock
[Write Connection Listener]
type=listener
service=Write Connection Router
protocol=MySQLClient
port=4007
socket=/var/lib/maxscale/writeconn.sock
[Read Connection Listener]
type=listener
service=Read Connection Router
protocol=MySQLClient
port=4008
socket=/var/lib/maxscale/readconn.sock
[CLI Listener]
type=listener
service=CLI
protocol=maxscaled
socket=/tmp/maxadmin.sock
[MaxInfo]
type=service
router=maxinfo
[MaxInfo JSON Listener]
type=listener
service=MaxInfo
protocol=HTTPD
port=8003
address=localhost
[CLIUnixListener]
type=listener
service=CLI
protocol=maxscaled
socket=default
[CLIInetListener]
type=listener
service=CLI
protocol=maxscaled
address=localhost
port=6603
[db1]
type=server
address=172.16.4.4
port=3306
protocol=MySQLBackend
[db2]
type=server
address=172.16.4.5
port=3306
protocol=MySQLBackend
[db3]
type=server
address=172.16.4.6
port=3306
protocol=MySQLBackend
最佳答案
索科拉塔,
我发现您的配置存在问题。请从监听器的片段中删除端口或套接字。如果您希望拥有用于网络监听器的端口和用于本地主机连接的套接字,则需要创建单独的代码片段。下面,我根据我的实验室对您的配置进行了一些调整,它的工作原理如下所示:
maxscale.cnf
[maxscale]
threads=4
#datadir=/var/lib/maxscale/data/
[Galera Monitor]
type=monitor
module=galeramon
servers=db1,db2,db3
user=maxmon
passwd=2C894F278CEC5B974966EC969E006E37
monitor_interval=1000
[qla]
type=filter
module=qlafilter
filebase=/tmp/QueryLog
[fetch]
type=filter
module=regexfilter
match=fetch
replace=select
[hint]
type=filter
module=hintfilter
[Write Connection Router]
type=service
router=readconnroute
servers=db1,db2,db3
user=maxusr
passwd=2C894F278CEC5B974966EC969E006E37
router_options=master
localhost_match_wildcard_host=1
version_string=10.2.14-MariaDB Cluster
[Read Connection Router]
type=service
router=readconnroute
servers=db1,db2,db3
user=maxusr
passwd=2C894F278CEC5B974966EC969E006E37
router_options=synced
localhost_match_wildcard_host=1
version_string=10.2.14-MariaDB Cluster
[RW Split Router]
type=service
router=readwritesplit
servers=db1,db2,db3
user=maxusr
passwd=2C894F278CEC5B974966EC969E006E37
max_slave_connections=100%
localhost_match_wildcard_host=1
version_string=10.2.14-MariaDB Cluster
router_options=disable_sescmd_history=true
[CLI]
type=service
router=cli
[RW Split Listener]
type=listener
service=RW Split Router
protocol=MySQLClient
port=4006
#socket=/var/lib/maxscale/rwsplit.sock
[Write Connection Listener]
type=listener
service=Write Connection Router
protocol=MySQLClient
port=4007
#socket=/var/lib/maxscale/writeconn.sock
[Read Connection Listener]
type=listener
service=Read Connection Router
protocol=MySQLClient
port=4008
#socket=/var/lib/maxscale/readconn.sock
[CLI Listener]
type=listener
service=CLI
protocol=maxscaled
socket=/tmp/maxadmin.sock
[CLIUnixListener]
type=listener
service=CLI
protocol=maxscaled
socket=default
[CLIInetListener]
type=listener
service=CLI
protocol=maxscaled
address=localhost
port=6603
[db1]
type=server
address=10.136.85.157
port=3306
protocol=MySQLBackend
[db2]
type=server
address=10.136.87.40
port=3306
protocol=MySQLBackend
[db3]
type=server
address=10.136.80.203
port=3306
protocol=MySQLBackend
maxscale.log
MariaDB MaxScale /var/log/maxscale/maxscale.log Sun May 20 13:30:49 2018
----------------------------------------------------------------------------
2018-05-20 13:30:49 notice : Working directory: /var/log/maxscale
2018-05-20 13:30:49 notice : The collection of SQLite memory allocation statistics turned off.
2018-05-20 13:30:49 notice : Threading mode of SQLite set to Multi-thread.
2018-05-20 13:30:49 notice : MariaDB MaxScale 2.2.5 started
2018-05-20 13:30:49 notice : MaxScale is running in process 24042
2018-05-20 13:30:49 notice : Configuration file: /root/maxscale/configs/test.cnf
2018-05-20 13:30:49 notice : Log directory: /var/log/maxscale
2018-05-20 13:30:49 notice : Data directory: /var/lib/maxscale
2018-05-20 13:30:49 notice : Module directory: /usr/lib64/maxscale
2018-05-20 13:30:49 notice : Service cache: /var/cache/maxscale
2018-05-20 13:30:49 notice : Loading /root/maxscale/configs/test.cnf.
2018-05-20 13:30:49 warning: Number of threads set to 4, which is greater than the number of processors available: 1
2018-05-20 13:30:49 warning: Whitespace in object names is deprecated, converting to hyphens: Galera Monitor
2018-05-20 13:30:49 warning: Whitespace in object names is deprecated, converting to hyphens: Write Connection Router
2018-05-20 13:30:49 warning: Whitespace in object names is deprecated, converting to hyphens: Read Connection Router
2018-05-20 13:30:49 warning: Whitespace in object names is deprecated, converting to hyphens: RW Split Router
2018-05-20 13:30:49 warning: Whitespace in object names is deprecated, converting to hyphens: RW Split Listener
2018-05-20 13:30:49 warning: Whitespace in object names is deprecated, converting to hyphens: Write Connection Listener
2018-05-20 13:30:49 warning: Whitespace in object names is deprecated, converting to hyphens: Read Connection Listener
2018-05-20 13:30:49 warning: Whitespace in object names is deprecated, converting to hyphens: CLI Listener
2018-05-20 13:30:49 notice : /root/maxscale/configs/test.cnf.d does not exist, not reading.
2018-05-20 13:30:49 notice : [cli] Initialise CLI router module
2018-05-20 13:30:49 notice : Loaded module cli: V1.0.0 from /usr/lib64/maxscale/libcli.so
2018-05-20 13:30:49 notice : [readwritesplit] Initializing statement-based read/write split router module.
2018-05-20 13:30:49 notice : Loaded module readwritesplit: V1.1.0 from /usr/lib64/maxscale/libreadwritesplit.so
2018-05-20 13:30:49 notice : [readconnroute] Initialise readconnroute router module.
2018-05-20 13:30:49 notice : Loaded module readconnroute: V1.1.0 from /usr/lib64/maxscale/libreadconnroute.so
2018-05-20 13:30:49 notice : Loaded module hintfilter: V1.0.0 from /usr/lib64/maxscale/libhintfilter.so
2018-05-20 13:30:49 notice : Loaded module regexfilter: V1.1.0 from /usr/lib64/maxscale/libregexfilter.so
2018-05-20 13:30:49 notice : Loaded module qlafilter: V1.1.1 from /usr/lib64/maxscale/libqlafilter.so
2018-05-20 13:30:49 notice : [galeramon] Initialise the MySQL Galera Monitor module.
2018-05-20 13:30:49 notice : Loaded module galeramon: V2.0.0 from /usr/lib64/maxscale/libgaleramon.so
2018-05-20 13:30:49 warning: Protocol module 'mysqlbackend' has been deprecated, use 'mariadbbackend' instead.
2018-05-20 13:30:49 notice : Loaded module mariadbbackend: V2.0.0 from /usr/lib64/maxscale/libmariadbbackend.so
2018-05-20 13:30:49 notice : Loaded module MySQLBackendAuth: V1.0.0 from /usr/lib64/maxscale/libmysqlbackendauth.so
2018-05-20 13:30:49 notice : Loaded module maxscaled: V2.0.0 from /usr/lib64/maxscale/libmaxscaled.so
2018-05-20 13:30:49 notice : Loaded module MaxAdminAuth: V2.1.0 from /usr/lib64/maxscale/libmaxadminauth.so
2018-05-20 13:30:49 warning: Protocol module 'mysqlclient' has been deprecated, use 'mariadbclient' instead.
2018-05-20 13:30:49 notice : Loaded module mariadbclient: V1.1.0 from /usr/lib64/maxscale/libmariadbclient.so
2018-05-20 13:30:49 notice : Loaded module MySQLAuth: V1.1.0 from /usr/lib64/maxscale/libmysqlauth.so
2018-05-20 13:30:49 notice : Monitor 'Galera-Monitor' is missing the 'journal_max_age' parameter, using default value of 28800 seconds.
2018-05-20 13:30:49 notice : Monitor 'Galera-Monitor' is missing the 'script_timeout' parameter, using default value of 90 seconds.
2018-05-20 13:30:49 notice : No query classifier specified, using default 'qc_sqlite'.
2018-05-20 13:30:49 notice : Loaded module qc_sqlite: V1.0.0 from /usr/lib64/maxscale/libqc_sqlite.so
2018-05-20 13:30:49 warning: Removing stale journal file for monitor 'Galera-Monitor'.
2018-05-20 13:30:49 notice : Using encrypted passwords. Encryption key: '/var/lib/maxscale/.secrets'.
2018-05-20 13:30:49 notice : Starting a total of 4 services...
2018-05-20 13:30:49 notice : [MySQLAuth] [Write-Connection-Router] Loaded 7 MySQL users for listener Write-Connection-Listener.
2018-05-20 13:30:49 notice : Listening for connections at [::]:4007 with protocol MySQL
2018-05-20 13:30:49 notice : Service 'Write-Connection-Router' started (1/4)
2018-05-20 13:30:49 notice : [MySQLAuth] [Read-Connection-Router] Loaded 7 MySQL users for listener Read-Connection-Listener.
2018-05-20 13:30:49 notice : Listening for connections at [::]:4008 with protocol MySQL
2018-05-20 13:30:49 notice : Service 'Read-Connection-Router' started (2/4)
2018-05-20 13:30:49 warning: [readwritesplit] Router options for readwritesplit are deprecated.
2018-05-20 13:30:49 notice : [MySQLAuth] [RW-Split-Router] Loaded 7 MySQL users for listener RW-Split-Listener.
2018-05-20 13:30:49 notice : Listening for connections at [::]:4006 with protocol MySQL
2018-05-20 13:30:49 notice : Service 'RW-Split-Router' started (3/4)
2018-05-20 13:30:49 notice : Listening for connections at [/tmp/maxadmin.sock]:0 with protocol MaxScale Admin
2018-05-20 13:30:49 notice : Listening for connections at [/tmp/maxadmin.sock]:0 with protocol MaxScale Admin
2018-05-20 13:30:49 notice : Listening for connections at [localhost]:6603 with protocol MaxScale Admin
2018-05-20 13:30:49 notice : Service 'CLI' started (4/4)
2018-05-20 13:30:49 notice : Started MaxScale log flusher.
2018-05-20 13:30:49 notice : Started REST API on [127.0.0.1]:8989
2018-05-20 13:30:49 notice : MaxScale started with 4 worker threads, each with a stack size of 8388608 bytes.
2018-05-20 13:30:50 notice : Server changed state: db1[10.136.85.157:3306]: new_master. [Running] -> [Master, Synced, Running]
2018-05-20 13:30:50 notice : Server changed state: db2[10.136.87.40:3306]: new_slave. [Running] -> [Slave, Synced, Running]
2018-05-20 13:30:50 notice : Server changed state: db3[10.136.80.203:3306]: new_slave. [Running] -> [Slave, Synced, Running]
我测试了与三个监听器的连接:
4006
[root@mxs01 ~]# for i in {1..10}; do mysql -ubianchi -p -h10.136.72.138 -P 4006 -e "select @@hostname\G"; done
*************************** 1. row ***************************
@@hostname: n02
*************************** 1. row ***************************
@@hostname: n02
*************************** 1. row ***************************
@@hostname: n02
*************************** 1. row ***************************
@@hostname: n02
*************************** 1. row ***************************
@@hostname: n02
*************************** 1. row ***************************
@@hostname: n02
*************************** 1. row ***************************
@@hostname: n02
*************************** 1. row ***************************
@@hostname: n02
*************************** 1. row ***************************
@@hostname: n02
*************************** 1. row ***************************
@@hostname: n02
4007
[root@mxs01 ~]# for i in {1..10}; do mysql -ubianchi -p -h10.136.72.138 -P 4007 -e "select @@hostname\G"; done
*************************** 1. row ***************************
@@hostname: n01
*************************** 1. row ***************************
@@hostname: n01
*************************** 1. row ***************************
@@hostname: n01
*************************** 1. row ***************************
@@hostname: n01
*************************** 1. row ***************************
@@hostname: n01
*************************** 1. row ***************************
@@hostname: n01
*************************** 1. row ***************************
@@hostname: n01
*************************** 1. row ***************************
@@hostname: n01
*************************** 1. row ***************************
@@hostname: n01
*************************** 1. row ***************************
@@hostname: n01
4008
[root@mxs01 ~]# for i in {1..10}; do mysql -ubianchi -p -h10.136.72.138 -P 4008 -e "select @@hostname\G"; done
*************************** 1. row ***************************
@@hostname: n02
*************************** 1. row ***************************
@@hostname: n03
*************************** 1. row ***************************
@@hostname: n02
*************************** 1. row ***************************
@@hostname: n03
*************************** 1. row ***************************
@@hostname: n02
*************************** 1. row ***************************
@@hostname: n03
*************************** 1. row ***************************
@@hostname: n02
*************************** 1. row ***************************
@@hostname: n03
*************************** 1. row ***************************
@@hostname: n02
*************************** 1. row ***************************
@@hostname: n03
尝试一下,让我们知道效果如何,干杯!
关于mysql - Azure Mariadb TX 2.0 连接不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50248387/
今天有小伙伴给我留言问到,try{...}catch(){...}是什么意思?它用来干什么? 简单的说 他们是用来捕获异常的 下面我们通过一个例子来详细讲解下
我正在努力提高网站的可访问性,但我不知道如何在页脚中标记社交媒体链接列表。这些链接指向我在 facecook、twitter 等上的帐户。我不想用 role="navigation" 标记这些链接,因
说现在是 6 点,我有一个 Timer 并在 10 点安排了一个 TimerTask。之后,System DateTime 被其他服务(例如 ntp)调整为 9 点钟。我仍然希望我的 TimerTas
就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用资料或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the
我就废话不多说了,大家还是直接看代码吧~ ? 1
Maven系列1 1.什么是Maven? Maven是一个项目管理工具,它包含了一个对象模型。一组标准集合,一个依赖管理系统。和用来运行定义在生命周期阶段中插件目标和逻辑。 核心功能 Mav
我是一名优秀的程序员,十分优秀!