Добрый день!
Делал тестовые задания по kubernetes/minikube:
https://github.com/ivekov/minikubeNginxPhpMysql
У меня запущен
minikube --driver=none;
Проблема следующая:
Message: SQLSTATE[HY000] [1045] Access denied for user 'crud'@'172.17.0.6' (using password: YES)
При этом:
mysql> SELECT db, host, user FROM mysql.db WHERE db='mainDb';
+--------+------------+------+
| db | host | user |
+--------+------------+------+
| mainDb | % | root |
| mainDb | 172.17.0.6 | crud |
+--------+------------+------+
2 rows in set (0.00 sec)
Пробовал и под пользователем root подключаться:
$app->get('/test/', function() {
$link = mysqli_connect("mysql", "root", "YWRtaW4=", "mainDb");
if (!$link) {
echo "Ошибка: Невозможно установить соединение с MySQL." . PHP_EOL;
echo "Код ошибки errno: " . mysqli_connect_errno() . PHP_EOL;
echo "Текст ошибки error: " . mysqli_connect_error() . PHP_EOL;
exit;
}
echo "Соединение с MySQL установлено!" . PHP_EOL;
echo "Информация о сервере: " . mysqli_get_host_info($link) . PHP_EOL;
mysqli_close($link);
});
Warning: mysqli_connect(): (HY000/1045): Access denied for user 'root'@'172.17.0.6' (using password: YES) in /var/www/html/public/index.php on line 44
Ошибка: Невозможно установить соединение с MySQL. Код ошибки errno: 1045 Текст ошибки error: Access denied for user 'root'@'172.17.0.6' (using password: YES)
Кто-нибудь, подскажите в чем проблема? Уже неделю сижу с этим вопросом. Может я вообще что-то не то делаю? Я запускаю myqsl как сервис, отдельным подом. А юзера добавил уже через локальную машину. Если нужно как-то иначе, то у меня вообще нет идей как...
=========UPD=========
Делал какую-то глупость, потому что ожидаемый пароль не подошел. Mysql в поде, а я подключался к локальной через терминал, и ожидал изменений в той, которую запустил через Stateful Set.
Вопрос тогда:
Почему пароль не применился?
Вот конфиг стейтфул сета для mysql:
apiVersion: apps/v1
kind: StatefulSet
metadata:
name: mysql-ss
spec:
selector:
matchLabels:
app: my-php-app
serviceName: mysql-service
replicas: 1
template:
metadata:
labels:
app: my-php-app
spec:
containers:
- name: mysql
image: mariadb
ports:
- containerPort: 3306
name: mysql
volumeMounts:
- name: mysql-vm
mountPath: /var/lib/mysql
env:
- name: MYSQL_ROOT_PASSWORD
valueFrom:
secretKeyRef:
name: mysql-pass
key: password
volumes:
- name: mysql-vm
persistentVolumeClaim:
claimName: mysql-pvc
- name: config-volume
configMap:
name: mysql-conf
Вот секретка:
apiVersion: v1
kind: Secret
metadata:
creationTimestamp: null
name: mysql-pass
type: Opaque
data:
password: YWRtaW4=