这是我的MySQL
apiVersion: apps/v1beta1
kind: Deployment
metadata:
name: abc-def-my-mysql
namespace: abc-sk-test
labels:
project: abc
ca: my
spec:
replicas: 1
template:
metadata:
labels:
app: abc-def-my-mysql
project: abc
ca: my
spec:
containers:
- name: mysql
image: mysql:5.6
args: ["--default-authentication-plugin=mysql_native_password", "--ignore-db-dir=lost+found"]
ports:
- containerPort: 3306
env:
- name: MYSQL_ROOT_PASSWORD
value: "root"
- name: MYSQL_DATABASE
value: "my_abc"
- name: MYSQL_USER
value: "test_user"
- name: MYSQL_PASSWORD
value: "12345"
volumeMounts:
- mountPath: /var/lib/mysql
name: abc-def-my-mysql-storage
volumes:
- name: abc-def-my-mysql-storage
persistentVolumeClaim:
claimName: abc-def-my-mysql-pvc
我想向 mysql 添加另一个用户,以便真正的用户可以连接到它。而不是使用“test_user”。如何添加另一个用户,是否像在上述配置中添加任何其他环境变量一样
将“创建用户脚本”安装到容器中/docker-entrypoint-initdb.d
目录。它将在第一次 pod 启动时执行一次。
apiVersion: extensions/v1beta1
kind: Pod
metadata:
name: mysql
spec:
containers:
- name: mysql
image: mysql
.....
env:
- name: MYSQL_ROOT_PASSWORD
value: "root"
.....
volumeMounts:
- name: mysql-initdb
mountPath: /docker-entrypoint-initdb.d
volumes:
- name: mysql-initdb
configMap:
name: initdb
---
apiVersion: v1
kind: ConfigMap
metadata:
name: initdb
data:
initdb.sql: |-
CREATE USER 'first_user'@'%' IDENTIFIED BY '111' ;
CREATE USER 'second_user'@'%' IDENTIFIED BY '222' ;
Test:
kubectl exec -it <PODNAME> -- mysql -uroot -p -e 'SELECT user, host FROM mysql.user;'
+-------------+------+
| user | host |
+-------------+------+
| first_user | % |
| second_user | % |
| root | % |
+-------------+------+
See 初始化一个新实例 https://hub.docker.com/_/mysql/Mysql Docker Hub 镜像:
当容器第一次启动时,会创建一个新的数据库
将使用提供的创建并初始化指定的名称
配置变量。此外,它将执行文件
扩展.sh,
.sql
and .sql.gz
发现于/docker-entrypoint-initdb.d
。文件将按字母顺序执行
命令。
您可以轻松地填充您的mysql
通过挂载 SQL 来提供服务
转储到该目录并提供贡献的自定义图像
数据。 SQL文件将默认导入到指定的数据库
通过 MYSQL_DATABASE 变量。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)