创建mysql-deployment.yaml
先拉取镜像
docker pull registry.cn-hangzhou.aliyuncs.com/acs-sample/mysql:5.7
apiVersion: apps/v1
kind: Deployment
metadata:
name: mysql-deployment
spec:
replicas: 1
selector:
matchLabels:
app: mysql
template:
metadata:
labels:
app: mysql
spec:
containers:
- name: mysql
image: registry.cn-hangzhou.aliyuncs.com/acs-sample/mysql:5.7
ports:
- containerPort: 3306 # MySQL 默认端口
env:
- name: MYSQL_ROOT_PASSWORD
value: "123456" # 设置 MySQL root 密码
创建mysql-service.yaml
apiVersion: v1
kind: Service
metadata:
name: mysql-service
spec:
selector:
app: mysql
ports:
- port: 3306
targetPort: 3306
nodePort: 30306 # 这里指定暴露对外的NodePort
type: NodePort
kubectl apply -f mysql-deployment.yaml
kubectl apply -f mysql-service.yaml
查看
kubectl get pods --namespace default
kubectl get services --namespace default
然后进入容器
kubectl get pods -o wide -A
kubectl exec -it mysql-deployment-6674c97b46-hm64c /bin/bash
mysql -u root -p
输入密码,文字的yaml密码是123456
GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY '123456' WITH GRANT OPTION;
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
GRANT SELECT,DELETE,UPDATE,CREATE,DROP ON *.* to root@"%" IDENTIFIED BY "123456";
GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost.localdomain' IDENTIFIED BY '123456' WITH GRANT OPTION;
别忘了加上如下的语句
flush privileges;