English | 简体中文
- 已部署 RadonDB MySQL 集群。
使用如下指令,将查看到名称为 mysqlusers.mysql.radondb.com
的 CRD。
kubectl get crd | grep mysqluser
mysqlusers.mysql.radondb.com 2021-09-21T09:15:08Z
使用如下指令,将创建一个名为 normal_user
的普通用户和一个名为 super_user
的超级用户。用户密码保存在名为 sample-user-password
的 Secret 中。
kubectl apply -f https://github.com/radondb/radondb-mysql-kubernetes/releases/latest/download/mysql_v1alpha1_mysqluser.yaml
示例中创建的普通用户和超级用户的密码均为 RadonDB@123
kubectl get mysqluser -o wide
NAME USERNAME SUPERUSER HOSTS TLSTYPE CLUSTER NAMESPACE AVAILABLE SECRETNAME SECRETKEY
normal-user normal_user false ["%"] NONE sample default True sample-user-password normalUser
super-user super_user true ["%"] NONE sample default True sample-user-password superUser
使用如下指令,使用 super_user
用户连接到 MySQL 集群主节点。
kubectl exec -it svc/sample-leader -c mysql -- mysql -usuper_user -pRadonDB@123
使用如下指令将删除示例中创建的 MysqlUser CR 和对应的用户。
kubectl delete mysqluser normal-user super-user
参数 | 描述 |
---|---|
user | 用户名 |
hosts | 允许访问的主机列表;%表示全部 |
withGrantOption | 用户是否能够给其他用户授权;默认为 false |
tlsOptions.type | TLS类型;必须为 NONE/SSL/X509;默认为 NONE |
permissions.database | 授权的数据库;*表示全部 |
permissions.tables | 授权的表;*表示全部 |
permissions.privileges | 授权项 |
userOwner.clusterName | 用户所在集群的名称 |
userOwner.nameSpace | 用户所在集群的命名空间 |
secretSelector.secretName | 保存用户密码的 secret 名称 |
secretSelector.secretKey | 保存用户密码的 secret key |
详情请参考 https://dev.mysql.com/doc/refman/5.7/en/account-management-statements.html
注意: 直接修改
spec.user
(用户名)等同于以新用户名创建一个用户。如需创建多个用户,请确保 metadata.name (CR 实例名)与 spec.user(用户名)一一对应。