我有以下部署,用于放置MySQL实例:
kind: Deployment
apiVersion: apps/v1beta1
metadata:
name: mysql
spec:
replicas: 1
template:
metadata:
labels:
app: mysql
spec:
containers:
- name: mysql
image: mysql:8
ports:
- containerPort: 3306
env:
- name: MYSQL_ROOT_PASSWORD
valueFrom:
secretKeyRef:
name: mysql-root-password
key: password
密码仅为root:
kind: Secret
apiVersion: v1
metadata:
name: mysql-root-password
type: Opaque
data:
password: cm9vdA==
问题是我尝试在端口转发MySQL端口后连接到实例,按照此处的说明进行操作,但收到错误:
$ kubectl port-forward mysql-824284009-rpbpk 3306
Forwarding from 127.0.0.1:3306 -> 3306
Forwarding from [::1]:3306 -> 3306
# from another terminal
$ mysql -u root -p
Enter password:
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
从pod本身连接到服务器可以工作:
$ kubectl exec -it mysql-824284009-rpbpk -- /bin/bash
root@mysql-824284009-rpbpk:/# mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
...
mysql>
我的设置与这里基本相同,只是我在minikube而不是GCP中运行集群。我的本地MySQL没有运行,所以我假设没有发生冲突的可能性。
端口转发可能存在,但您需要告诉mysql客户端使用host/port而不是unix套接字进行连接(默认)
mysql --host=localhost --protocol tcp --port=3306 -u root -p
如果你不这样做,mysql默认使用本地linux套接字连接到他的服务器: /var/run/mysqld/mysqld.sock。
更新:由于Gabriel检查-添加-协议tcp
终于使其工作,所以我将其添加到我的答案中
我有一个声纳配置,看起来像这样: 当从我的gradle脚本运行这个时,它看起来像这样: 应该添加到上面的sonarproperties中。
我正在尝试连接到MySQL服务器,但出现无法处理的错误。 java.sql.SQLNonTransientConnectionException:无法创建到数据库服务器的连接。尝试重新连接3次。放弃。com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:110)com.mysql.cj.jdbc.excepti
我在运行Ubuntu服务器14.04的服务器上安装了PostgreSQL 9.3。 在服务器上运行时,我得到(我猜是相关部分):
每当我将dovecot配置更改为使用993 IMAPS端口而不是标准的143 IMAP,roundcube都拒绝使用ErrorMessage: 连接到存储服务器失败。服务器错误:无法连接到本地主机:143:连接被拒绝 Roundcube版本: 我们将不胜感激。
在运行< code>Cassandra命令,然后尝试在另一个命令提示符窗口中运行< code>cqlsh后,我收到了此错误。你能让我知道如何解决这个问题吗? 连接错误:('无法连接到任何服务器',{'127.0.0.1':错误(10061,"尝试连接到[('127.0.0.1',9042)]。最后一个错误:无法进行连接,因为目标机器主动拒绝它")})
例外情况是: docker-compose文件是: 多克菲乌勒