MySQL错误信息1356
错误:1000 SQLSTATE: HY000 (ER_HASHCHK) 消息:hashchk错误:1001 SQLSTATE: HY000 (ER_NISAMCHK) 消息:isamchk错误:10...
2024.11.15如果你忘记了MySQL密码,如何重置它呢?
下面是错误答案:
首先停止MySQL服务,然后使用skip-grant-tables参数启动它:
shell> /etc/init.d/mysql stopshell> mysqld_safe --skip-grant-tables &此时无需授权就可以进入到MySQL命令行,使用SQL重置MySQL密码:
update mysql.user SET Password=PASSWORD(‘...‘) WHERE User=‘...‘ AND Host= ‘...‘;FLUSH PRIVILEGES;为什么说它是错误答案?因为在单纯使用skip-grant-tables参数启动服务后,除非数据库服务器屏蔽了外网访问,否则除了自己,其它别有用心的人也可能访问数据库,尽管重置密码所需的时间很短,但俗话说不怕贼偷就怕贼惦记着,任何纰漏都可能酿成大祸。
下面是正确答案:
关键点是:在使用skip-grant-tables参数的同时,还要加上skip-networking参数:
shell> mysqld_safe --skip-grant-tables --skip-networking &接着使用SQL重置密码后,记得去掉skip-networking,以正常方式重启MySQL服务:
shell> /etc/init.d/mysqld restart上面的方法需要重启两次服务,实际上还能更优雅一点,重启一次即可:
首先需要把用到的SQL语句保存到一个文本文件里(/path/to/init/file):
update mysql.user SET Password=PASSWORD(‘...‘) WHERE User=‘...‘ AND Host= ‘...‘;FLUSH PRIVILEGES;接着使用init-file参数启动MySQL服务,
shell> /etc/init.d/mysql stopshell> mysqld_safe --init-file=/path/to/init/file &此时,密码就已经重置了,最后别忘了删除文件内容,免得泄露密码。
提示:本文用到的参数都是通过命令行mysqld_safe传递的,实际上也可以通过my.cnf。
错误:1000 SQLSTATE: HY000 (ER_HASHCHK) 消息:hashchk错误:1001 SQLSTATE: HY000 (ER_NISAMCHK) 消息:isamchk错误:10...
2024.11.15还有其他关于MySQL内容,可以在本头条号查阅。下面开始本篇——在进行 MySQL 的优化之前必须要了解的就是 MySQL 的查询过程,很多的查询优化工作实际上就是遵循一些原则让 MySQL 的优化器...
2024.11.07关注我「程序猿集锦」,获取更多分享。初始化实验环境明确需求查找重复的数据查找要保留的数据删除重复的数据方法一方法二方法三写法1写法2总结MySQL中经常会遇到重复的数据,那么当我们遇到重复的时候的时候...
2024.11.15截取字符串是多么多么常见的一个需求啊,三家数据库厂商所实现的方法相近,但是也不相同。首先登场的是O记的SUBSTR,在线文档地址:https://docs.oracle.com/cd/E11882_0...
2024.11.15不知道大家有没有想过下面这件事?我们平时调用 delete 在 MySQL 中删除的数据都去哪儿了?这还用问吗?当然是被删除了啊那么这里又有个新的问题了,如果在 InnoDB 下,多事务并发的情况下,...
2024.11.15