mysql删除root用户的方法是什么
- 来源:香港机房
- 编辑:蜜蜂网络
- 时间:2022-01-25 04:47:30
- 阅读:2152次
本文小编为大家详细介绍“mysql删除root用户的方法是什么”,内容详细,步骤清晰,细节处理妥当,希望这篇“mysql删除root用户的方法是什么”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。
| 序列号 | CPU | RAM | HDD | 带宽 | 售价(美元) | 免费试用 |
|---|---|---|---|---|---|---|
| 香港服务器1 | E5-2620 | 32G | 1T HDD | 50M/无限流量 | $196.00 | 立即申请 |
| 香港服务器2 | E5-2650 | 32G | 1T HDD | 50M/无限流量 | $256.00 | 立即申请 |
| 香港服务器3 | E5-2680 | 32G | 1T HDD | 50M/无限流量 | $316.00 | 立即申请 |
| 香港服务器4 | E5-2690 | 32G | 1T HDD | 50M/无限流量 | $336.00 | 立即申请 |
| 香港服务器5 | E5-2697 | 32G | 1T HDD | 50M/无限流量 | $376.00 | 立即申请 |
| 香港服务器6 | E5-2620*2 | 32G | 1T HDD | 50M/无限流量 | $376.00 | 立即申请 |
| 香港服务器7 | E5-2650*2 | 32G | 1T HDD | 50M/无限流量 | $436.00 | 立即申请 |
| 香港服务器8 | E5-2680*2 | 32G | 1T HDD | 50M/无限流量 | $476.00 | 立即申请 |
| 香港服务器9 | E5-2690*2 | 32G | 1T HDD | 50M/无限流量 | $556.00 | 立即申请 |
| 香港服务器10 | E5-2697*2 | 32G | 1T HDD | 50M/无限流量 | $596.00 | 立即申请 |
| 香港服务器11 | E5-2680v4*2 | 32G | 1T HDD | 50M/无限流量 | $696.00 | 立即申请 |
| 香港服务器12 | E5-2698v4*2 | 32G | 1T HDD | 50M/无限流量 | $796.00 | 立即申请 |
mysql删除root用户的方法:1、使用“CREATE USER”语句创建一个与root用户权限一样的用户;2、使用“drop user”语句删除root用户,语法“DROP USER root用户账号”。
本教程操作环境:windows7系统、mysql8版本、Dell G3电脑。
删除MySQL的默认root用户
需求分析:
root密码在多个地方出现过,比如分享的技术文档,邮件,截图.
MySQL默认安装的管理员帐号名称root,众所周知.为了增强安全性,需要更换一个用户名称,例如换成superuser,或者有公司特色的.例如xxx_admin.
应对策略:
首先创建一个与root用户权限一样的用户.
GRANT ALL PRIVILEGES ON *.* TO 'x_admin'@'127.0.0.1' IDENTIFIED BY 'xxxx';
删除默认的root用户.
drop user root@'127.0.0.1';drop user root@'localhost';drop user root@'::1';
用户账号:
格式为 user_name'@'host_name。
这里的user_name是用户名,host_name为主机名,即用户连接 MySQL 时所用主机的名字。
如果在创建的过程中,只给出了用户名,而没指定主机名,那么主机名默认为“%”,表示一组主机,即对所有主机开放权限。
注意问题:
1、视图
曾经用root帐号为DEFINER的视图,如果将root删除,将提示该视图无法使用,没有权限.所以要注意提前查看是否存在视图,存在的话,需要修改该视图的DEFINER属性.
修改视图,是瞬间就能完成的操作,除非该视图被其他sql语句占用,处于锁定的状态.
查看视图
select TABLE_SCHEMA, TABLE_NAME, VIEW_DEFINITION, DEFINER from information_schema.VIEWS;
修改视图(非root的暂不修改)
ALTER DEFINER=`x_admin`@`127.0.0.1` SQL SECURITY DEFINER VIEW v_name AS...
2、存储过程/函数
情况与视图类似
查看存储过程/视图
select ROUTINE_SCHEMA,ROUTINE_NAME,ROUTINE_TYPE,DEFINER from information_schema.ROUTINES;
或者
select db,name,type,definer from mysql.proc;
修改存储例程,可直接修改mysql.proc
update mysql.proc set definer='x_admin@127.0.0.1'where db='db_name';
如果修改所有库
update mysql.proc set definer='x_admin@127.0.0.1';
2、用root用户连接MySQL的脚本
此类问题比较好解决,可单独为脚本创建帐号用来执行脚本中指定的操作,该用户名可用script_,或者脚本名命名.权限够用就行,不要分配过多的权限.
4、方法:一个增加用户的脚本.(配合批量执行)
#!/usr/bin/python#-*- coding: UTF-8 -*-# ######################################################################### This program# Version: 2.0.0 (2012-10-10)# Authors: lianjie.ning@qunar.com# History:# ########################################################################import osimport socketimport subprocessimport sysimport tracebackfrom ConfigParser import ConfigParserclass Finger(object): 'finger.py' def __init__ (self): print '---- %s, %s' % (socket.gethostname(), self.__doc__)
def load_config (self, file="finger.ini"): if not os.path.exists(file):
print file,"is not exists, but is created, please fix it" temp_ini = '''[conn_db]
login_pwd =
exec_sql =
''' open(file, 'w').write(temp_ini)
os.chmod(file, 0600)
sys.exit()
config = ConfigParser()
config.read(file)
if config.has_section('conn_db') is True:
if config.has_option('conn_db', 'login_pwd') is True:
login_pwd = config.get('conn_db', 'login_pwd')
if config.has_option('conn_db', 'exec_sql') is True:
exec_sql = config.get('conn_db', 'exec_sql')
return (login_pwd, exec_sql)
def grant_user(self, login_pwd, exec_sql): if os.path.exists('/usr/local/bin/mysql'):
mysql = '/usr/local/bin/mysql' elif os.path.exists('/usr/bin/mysql'):
mysql = '/usr/bin/mysql' elif os.path.exists('/bin/mysql'):
mysql = '/bin/mysql' else:
print "command not fount of mysql" sys.exit()
user = 'xxxx' conn_port = [3306,3307,3308,3309,3310]
for i in conn_port:
ss = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
address = ('127.0.0.1', int(i))
status = ss.connect_ex(address)
ss.settimeout(3)
ss.close()
if status == 0:
conn_mysql = '%s -u%s -p%s -h227.0.0.1 -P%d -N -s -e"%s"' % (mysql, user, login_pwd, i, exec_sql)
p = subprocess.call(conn_mysql, shell=True, stdout=open("/dev/null"))
if p == 0:
print "---- checking port: %s is NORMAL" % i
else:
print "---- checking prot: %s is ERROR" % iif __name__ == '__main__':
try:
process = Finger()
(login_pwd, exec_sql) = process.load_config()
process.grant_user(login_pwd, exec_sql)
except Exception, e:
print str(e)
traceback.print_exc()
sys.exit()读到这里,这篇“mysql删除root用户的方法是什么”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注亿速云行业资讯频道。
-
香港服务器定制化需求快速增长个性化服务受到市场追捧
12-27
-
香港服务器监控系统全面升级故障预警能力显著增强
12-26
-
香港服务器负载均衡技术广泛应用系统性能优化效果明显
12-25
-
香港服务器容器化部署成为主流DevOps开发效率大幅提升
12-24
-
香港服务器边缘计算布局加速5G应用场景不断拓展延伸
12-23
-
香港服务器AI算力需求急剧增长GPU服务器市场异常热销
12-22
-
香港服务器区块链节点部署增多加密货币挖矿产业兴起
12-21
-
香港服务器游戏加速服务需求旺盛电竞产业带动市场需求
12-20
-
香港服务器直播推流技术优化短视频平台需求快速增长
12-19
-
香港服务器电商平台支撑能力增强双11流量峰值应对自如
12-18
-
香港站群服务器(特价)
12-23
-
用香港站群服务器做网站优化/SEO需要注意什么?
03-10
-
多IP香港站群服务器首选蜜蜂网络
02-19
-
香港站群服务器哪里的性价比高
02-14
-
香港站群服务器如何选择?购买香港站服务器配置建议
02-04
-
香港站群服务器做SEO可以吗?
02-04
-
香港站群服务器的知识产权细分市场有哪些?
02-04
-
网站排名怎么办?香港站群服务器助你轻松实现!
12-30
-
香港站群服务器5(特价)
12-23
-
香港站群服务器4(特价)
12-23
-
香港服务器与新加坡、韩国、美国等地区服务器的比较
06-21
-
如何选择美国多 IP 站群服务器? 学习如何统筹管理多个站点
06-21
-
美国站群服务器推荐
06-21
-
怎么购买美国服务器?在哪买?
06-21
-
租用美国服务器需要注意哪些问题?
06-21
-
为什么美国服务器做外贸网站比较合适?
06-21
-
为什么跨境电商首选美国服务器 ?
06-21
-
美国服务器好还是香港服务器好?
06-21
-
国内到美国服务器延时高该怎么办?
06-21
-
美国服务器和国内服务器哪个好?美国服务器真的不用备案吗?
06-21