首页 > 数据库 >k8s部署mysql 5.7

k8s部署mysql 5.7

时间:2023-09-28 12:38:53浏览次数:62  
标签:kubectl name 5.7 app get pvc mysql k8s


1.创建秘钥

#创建秘钥
kubectl create secret generic mysql-root-password --from-literal=password=123456

2.创建pvc

#查看sc
[root@k8s-master01 mysql]# kubectl get sc
NAME              PROVISIONER                     RECLAIMPOLICY   VOLUMEBINDINGMODE   ALLOWVOLUMEEXPANSION   AGE
nfs-boge          nfs-provisioner-01              Retain          Immediate           false                  91d


#编辑pvc
vi  mysql-pvc.yaml
i
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: mysql-pvc
spec:
  accessModes:
    - ReadWriteMany
  resources:
    requests:
      storage: 1Gi
  # 存储类,具有相同存储类名称的pv和pvc才能进行绑定
  storageClassName: nfs-boge


#创建pvc
kubectl apply -f mysql-pvc.yaml

#检查
kubectl get pv -A
kubectl get pvc -A

3.创建mysql

vi  mysql-svc.yaml
i
apiVersion: apps/v1
kind: Deployment
metadata:
  labels:
    app: mysql
  name: mysql
spec:
  selector:
    matchLabels:
      app: mysql
  template:
    metadata:
      labels:
        app: mysql
    spec:
      containers:
      - image: mysql:5.7
        name: mysql
        env:
        - name: MYSQL_ROOT_PASSWORD
          valueFrom:
            secretKeyRef:
              name: mysql-root-password
              key: password
          # 如果你不想使用secret对象保存mysql登录密码,可以直接使用下面的方式指定,简单粗暴未尝不可
          #value: "123456"
        ports:
        - containerPort: 3306
        volumeMounts:
        - name: mysqlvolume
          mountPath: /var/lib/mysql
      volumes:
      - name: mysqlvolume
        # 使用pvc
        persistentVolumeClaim:
          claimName: mysql-pvc
---
#定义mysql的Service
apiVersion: v1
kind: Service
metadata:
  labels:
    app: svc-mysql
  name: svc-mysql
spec:
  selector:
    app: mysql
  type: NodePort
  ports:
  - port: 3306
    protocol: TCP
    targetPort: 3306
    nodePort: 31234



kubectl apply -f  mysql-svc.yaml

4.修改用户登入权限

kubectl -n dev get all


#连接数据库
kubectl -n dev  exec -it mysql-856fd4594c-gxkmx -- mysql -u root -p


#切换数据库
mysql> use mysql;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed

#修改用户登入授权
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
Query OK, 0 rows affected, 1 warning (0.00 sec)

#刷新权限
mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)

#退出
mysql> exit

5.mysql工具连接

k8s部署mysql 5.7_数据库


标签:kubectl,name,5.7,app,get,pvc,mysql,k8s
From: https://blog.51cto.com/dxbp/7637929

相关文章

  • k8s安装rook-ceph1.8
    前提Kubernetes集群各节点主机安装lvm2软件:yum-yinstalllvm2Kubernetes集群各节点主机内核版本不低于4.17Kubernetes集群有至少3个工作节点(master和worker),且每个工作节点都有一块初系统盘以外的未格式化的裸盘(工作节点是虚拟机时,未格式化的裸盘可以是虚拟磁盘),用于创......
  • sealos 离线安装k8s
    目录1.修改主机名2.添加主机名与IP地址解析3.升级服务器内核,时间同步,关闭防火墙,重启服务器4.sealos安装5.离线环境安装,离线环境只需要提前导入镜像5.1加载离线包部署6.kubernetes集群可用性验证7.扩展安装8.sealos版本3.3-基本命令1.修改主机名hostnamectlset-hostnamek8s-m......
  • K8S错误整理
    目录1.calico-node报错Readinessprobefailed:calico/nodeisnotready:BIRDisnotready2.error:MetricsAPInotavailablea.k8s版本:v1.24.4b.k8s1.203.Unabletoupdatecniconfig:nonetworksfoundin/etc/cni/net.d 1.calico-node报错Readinessprobefailed:ca......
  • K8s Pod与宿主机时区不同步
    目录本机替换上海时间一、通过定制Dockerfile添加时区二、通过将时区文件挂在到Pod中三、通过环境变量定义时区四、修改k8s表空间时区本机替换上海时间sudotimedatectlset-timezoneAsia/Shanghai&&sudontpdatetime.windows.com一、通过定制Dockerfile添加时区$catDockerf......
  • MySQL InnoDB什么时候更新索引的统计信息?
    MySQLInnoDB的索引统计信息在什么时候更新呢?或者说什么事件会触发InnoDB索引的统计信息更新呢?下面结合参考资料WhenDoesInnoDBUpdatetheIndexStatistics?(DocID1463718.1)[1]简单总结梳理一下(文中大部分知识点来自参考资料)。1:ANALYZETABLE命令ANALYZETABLE命令会......
  • Caused by: com.mysql.cj.jdbc.exceptions.MySQLTransactionRollbackException: Lock
    153392398 RUNNING 2023-08-2309:10:09 6 397413 0 2 4 1136 2 2 0 REPEATABLEREAD 1 1 0 0 0 0 328854561014064 RUNNING 2023-08-2309:19:03 0 397493 0 0 0 1136 0 0 0 REPEATABLEREAD 1 1 0 0 0 0 328854560997800 RUNNING 2023-08-2309:06:41 0 39733......
  • 软件测试 - - - 测试数据库mysql
    连接数据库,navicat连接数据库   多使用软件。而不只是记载记笔记。去使用软件。去使用navicat。软件测试 --- 测试数据库dbeaverUltimate有免费的社区版本workbench这是官方做的软件。navicat需要收费,如果破解,大公司会受到律师函。 输入URL,连接数据库,host主机......
  • MYSQL - IF 语句
    背景:求三个字段的和但是其中一个字段有可能是null,相加后结果就是nullselectsum(a+b+c)fromtab;预期:如果sum(a+b+c)为null就不参与运算ifnull:https://blog.csdn.net/weixin_45659364/article/details/115468039......
  • MySQL的锁实现
    数据库锁机制 一.数据库锁的类型和细度   (一)类型     1. 共享锁:读锁,不同事务可以同是读取加共享锁的数据,但是不能同时加写锁和写操作  forshare     2.排他锁:写锁,不同事务,不可以同时读取加锁的资源进行写入  forupdate   (二)细度......
  • Spring Boot与MySQL搭配,打造极简高效的数据管理系统
    ......