#create database mytest1 character set utf8; create database `mytest1` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; #create database `mytest1` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
创建用户并授权
1 2 3 4 5
CREATE USER 'dev-super'@'localhost' IDENTIFIED BY 'Www.pusdn.com'; GRANT ALL PRIVILEGES ON *.* TO 'dev-super'@'localhost'; CREATE USER 'dev-super'@'36.113.10.210' IDENTIFIED BY 'Www.pusdn.com'; GRANT ALL PRIVILEGES ON *.* TO 'dev-super'@'36.113.10.210'; FLUSH PRIVILEGES;
创建新用户
1 2 3 4 5
#CREATE USER 'mytest1'@'localhost' IDENTIFIED BY 'Www.pusdn.com';
if m_version.find('5.7') == 0 or m_version.find('8.0') == 0 or m_version.find('10.4.') != -1: panelMysql.panelMysql().execute("UPDATE mysql.user SET authentication_string='' WHERE user='root'") panelMysql.panelMysql().execute("ALTER USER 'root'@'localhost' IDENTIFIED BY '%s'" % password) panelMysql.panelMysql().execute("ALTER USER 'root'@'127.0.0.1' IDENTIFIED BY '%s'" % password) else: result = mysql_obj.execute("update mysql.user set Password=password('" + password + "') where User='root'") mysql_obj.execute("flush privileges")
修改用户密码
1 2 3 4 5 6 7 8
高版本5.7,8.0: update mysql.user set authentication_string='' where User='username'; ALTER USER `username`@`localhost` IDENTIFIED BY 'newpassword'; ALTER USER `username`@`host` IDENTIFIED BY 'newpassword'; flush privileges; 低版本: update mysql.user set Password=password('newpassword') where User='username' flush privileges;
select distinct * from (select user.Host,user.User,db.Db,user.Password,user.Drop_priv,user.Grant_priv,user.Alter_priv from db inner JOIN user on db.user=user.user) as it where user='xxxx';
select * from mysql.user where user = 'dev-super'\G select user,host from mysql.user where user = 'dev-super';
删除用户
1 2 3 4 5 6 7
drop user 'dev-super'@'36.113.10.210'; drop user 'dev-super'@'localhost'; flush privileges;
#此删除不会删除权限相关 #Delete FROM mysql.user Where User='dev-super'; #flush privileges;
create database `xjgys` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
创建用户并授权
1 2 3 4 5
CREATE USER 'dev-xjgys'@'localhost' IDENTIFIED BY 'Www.pusdn.com'; GRANT ALL PRIVILEGES ON xjgys.* TO 'dev-xjgys'@'localhost'; CREATE USER 'dev-xjgys'@'36.113.10.210' IDENTIFIED BY 'Www.pusdn.com'; GRANT ALL PRIVILEGES ON xjgys.* TO 'dev-xjgys'@'36.113.10.210'; FLUSH PRIVILEGES;
云控制台端口限制
腾讯云:
出站默认全部。
入站,这里主要限制下3306指定IP访问。
阿里云:
通过Navicat客户端操作
使用dev-super,远程登录,新建库,新建用户,赋予权限。
1 2 3 4 5 6 7 8
全表: CREATE USER `wclz`@`36.113.10.210` IDENTIFIED BY 'Wocaleiga$$_';
GRANT Alter, Alter Routine, Create, Create Routine, Create Temporary Tables, Create View, Delete, Drop, Event, Execute, Grant Option, Index, Insert, Lock Tables, References, Select, Show View, Trigger, Update ON `wclz`.* TO `wclz`@`36.113.10.210`;
单表: CREATE USER `wclg`@`36.113.10.210` IDENTIFIED BY 'Wocaleiga$$_'; GRANT Create ON TABLE `wclz`.`student` TO `wclg`@`36.113.10.210`;
猜想:
1 2 3 4 5
简单说下,with grant options可能会赋予server权限,即创建其他子账号,这里采用shell,127,root进行创建。Navicat登录账号dev-super没有server权限。 即在创建用户,如下: CREATE USER 'dev-super'@'36.113.10.210' IDENTIFIED BY 'Www.pusdn.com'; GRANT ALL PRIVILEGES ON *.* TO 'dev-super'@'36.113.10.210' WITH GRANT OPTION; FLUSH PRIVILEGES;
无法创建表或者设计表,提示access denied,you need at least one of the process privileges for this operation.
drop user 'dev-ccga'@'localhost'; drop user 'dev-ccga'@'36.113.33.86'; drop user 'dev-ccga'@'219.143.174.166'; drop user 'dev-ccga'@'1.202.112.96'; FLUSH PRIVILEGES;
show grants for 'dev-ccga'@'localhost';
小问题解决: GRANT Process ON *.* TO `dev-ccga`@`219.143.174.166`; FLUSH PRIVILEGES;