解决腾讯云cdb的基础版mysql不支持新建账号
腾讯云一贯被叫良心云,确实挺良心的,机器稳定,工单响应快,各种各样的活动不停。我也入手了不少的机器。
刚新入手了一个基础版的cdb云数据库,才3块钱一个月,一口气买了3年,美滋滋。
去到网页控制面板,傻眼了,只有一个root用户,没有“创建账号”的按钮(其他版本是有的)。
第一个念头,按F12看看按钮是否被隐藏,果然~ 把display: none;去调,按钮显示了出来,填表,确定,提示“创建帐号失败,当前实例类型不支持该操作CreateAccounts(410001)”
NND,可以创建新库但是不可以管理用户是几个意思?多个库希望能够多个账号分开管理,不然万一某个库的站存在安全问题(使用开源程序无法保证100%安全),导致跨库影响也大。搞不懂腾讯云的产品经理是怎么想的。。。
后来经人提醒,直接开远程,在mysql控制台输命令,成功创建用户并设置权限。呃。
下面记录一下命令:
打开cmd,进入本机的mysql安装目录里的bin
mysql -h 服务器IP地址 -P 端口号 -u root -p
输入密码
创建新用户
create user '用户名'@'%' identified by '密码';
授予相关数据库权限
grant select,insert,update,delete,create on 数据库名.* to 用户名@'%';
保存修改
flush privileges;
这样就OK了。
由于这样创建的用户在网页的腾讯云控制台是看不到的(但是可以正常登录腾讯云的dmc数据库管理控制台),所以管理还是得靠命令,下面是用户管理相关用得到的命令:
修改密码(由于这个基础版的mysql是5.7的,所以是authentication_string)
update mysql.user set authentication_string=password('新密码') where user='用户名';
查询当前云数据库实例所有的用户名
select host,user from mysql.user;
查询某个用户名的权限
show grants for 用户名@'%';
取消用户所有权限
revoke all on *.* from 用户名;
删除用户
delete from mysql.user where user='用户名';