mysql没有密码怎么办 mysql无密码登陆

本地MySQL密码忘了 , 怎么找回?1、以管理员的身份打开cmd , 然后跳过权限启动mysql , 命令:xxx --skip-grant-tables 前面是mysql配置文件的位置,然后回车 。
2、新打开个cmd窗口,进入到mysql配置文件目录bin下,然后输入 mysql -uroot -p 再回车,这步是以空密码进入mysql 。
3、空密码进入mysql后,如果前面都设置正确的话,这步显示的界面是Welcome to the MariaDB monitor 。
4、然后可以show database; 查看当前的数据库,回车后会列举出当前数据库的列表 。
5、然后执行命令:update user set password=password('新密码') where user='root'; 并回车,其中括号中的就是将要设置的新密码 。
6、执行完后会提示你 Query OK,表示执行成功了,再用新密码登录就可以了 。
MySQL密码忘了怎么办MySQL密码忘了的操作:
1.关闭MySQL数据库,因为root密码忘记了,mysqladmin无法使用,此时,只能通过killpid关闭程序 。在这里,科普一下kill和kill-9的区别默认参数下,kill发送SIGTERM信号给进程 。
告诉进程,你需要被关闭,请自行停止运行并退出 。kill-9发送SIGKILL信号给进程,告诉进程 , 你被终结了 , 请立刻退出 。与SIGTERM相比,这个信号不能被捕获或忽略,同时接收这个信号的进程在收到这个信号时不能执行任何清理所以 。
万不得已,不要通过kill-9杀掉进程 , 这可能导致MySQL数据库的物理结构损坏,无法重新启动 。
2.在my.cnf文件部分添加skip-grant-tables参数 。
3.登录数据库,修改root账户的密码以下是修改root密码的三种方式:
1mysqlsetpasswordfor'root'@'localhost'=password('123') 。无需刷新权限表 。
2mysqlupdatemysql.usersetpassword=password("456")whereuser="root"andhost="localhost" 。
mysqlflushprivileges;3#mysqladmin-urootpassword"123" 。
4.关闭数据库,注释掉skip-grant-tables参数,重新启动数据库 。上面这种方式虽然不错,但是有个问题,你必须重启数据库,对于线上环境 , 这可能是不被允许的 。
忘记mysql密码怎么办如果不是root密码:
连root的密码也忘记mysql没有密码怎么办了吗?
没有的话mysql没有密码怎么办,用root进去,修改mysql数据库user表咯 。
如果是root密码:
方法一:
MySQL提供跳过访问控制的命令行参数,通过在命令行以此命令启动MySQL服务器:
safe_mysqld --skip-grant-tables
即可跳过MySQL的访问控制,任何人都可以在控制台以管理员的身份进入MySQL数据库 。
需要注意的是在修改完密码以后要把MySQL服务器停掉重新启动才会生效
方法二:
可以进行如下的步骤重新设置MySQL的root密码:
1.首先确认服务器出于安全的状态,也就是没有人能够任意地连接MySQL数据库 。
因为在重新设置MySQL的root密码的期间,MySQL数据库完全出于没有密码保护的
状态下,其他的用户也可以任意地登录和修改MySQL的信息 。可以采用将MySQL对
外的端口封闭,并且停止Apache以及所有的用户进程的方法实现服务器的准安全
状态 。最安全的状态是到服务器的Console上面操作,并且拔掉网线 。
2.修改MySQL的登录设置:
# vi /etc/my.cnf
在[mysqld]的段中加上一句:skip-grant-tables
例如:
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
skip-name-resolve
skip-grant-tables
保存并且退出vi 。
3.重新启动mysqld
# /etc/init.d/mysqld restart
Stopping MySQL: [ OK ]
Starting MySQL: [ OK ]
4.登录并修改MySQL的root密码
# /usr/bin/mysql

推荐阅读