我需要编写一个bash脚本,通过以下命令连接到远程主机上的mysql服务器:
$MYSQL_HOME/bin/mysql --socket=$MYSQL_UNIX_PORT -u$MYSQL_USER -p$MYSQL_PWD --host $x --connect-timeout=5 -e 'show master status'
脚本在配置文件中找到2个数据库服务器(10.5.5.233和10.5.5.234),并尝试访问这些主机中的每一个。但是,连接失败,并且“没有到主机的路由”:
ERROR 2003 (HY000): Can't connect to MySQL server on '10.5.5.233' (113 "No route to host")
ERROR 2003 (HY000): Can't connect to MySQL server on '10.5.5.234' (113 "No route to host")
另一方面,当我尝试手动连接主数据库时,与主数据库的连接成功:
$MYSQL_HOME/bin/mysql --socket=$MYSQL_UNIX_PORT -u$MYSQL_USER -p$MYSQL_PWD --host 10.5.5.233 --connect-timeout=5 -e 'show master status'
+------------------------+----------+-----------------------------------------------+------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------------+----------+-----------------------------------------------+------------------+
| xxx-bin.000006 | 65284117 | xxx,sched,qua,tadb,nodb | |
+------------------------+----------+-----------------------------------------------+------------------+
我找不到任何类似的帖子是什么导致了这种行为。你能帮助我理解为什么bash脚本无法连接到远程主机上的mysql,而当我手动运行它时,相同的命令却成功了吗?谢谢。
暂无答案!
目前还没有任何答案,快来回答吧!