mysql -uroot -p 输入密码回车后,出现如下图错误。这时候需要我们破解密码。
service mysqld stop //先停止mysql服务。
然后打开mysql配置文件/etc/mycnf在mysqld下面添加一行代码:skip-grant-tables。这行代码意思就是跳过跳过授权表,即是可以跳过密码验证直接进入数据库。
3
service mysqld restart //重启mysql数据库。假如不重启的话,不会生效。
mysql -uroot -p //此时直接回车,既可以进入数据库。
出现mysql>就说明你已经进入到mysql数据库里了。
1Mac下安装好mysql后,启动mysql(系统便好设置里面启动mysql,然后Start MYSQL Server)
2进入终端输入命令:PATH=”$PATH":/usr/local/mysql/bin
3由于刚刚安装好的mysql密码为空,输入命令:mysql -u root -p 按回车即可登录
4显示所有数据库,输入命令:show databases;
5进入到名为mysql的数据库
6显示出mysql数据库里面的表, 有一个user表,里面就存储的是mysql用户名,密码
7打印user表结构
8更新authentication_string(相当于windows里面的password字段)字段,此处要用PASSWORD()函数修改
至此,mysql初始密码就修改完成了,之后就可以登录试试了!
MySQL密码丢失的找回方法
破解本地密码:
Windows:
1用系统管理员登陆系统。
2停止MySQL的服务。
3进入命令窗口,然后进入MySQL的安装目录,比如我的安装目录是c:\mysql,进入C:\mysql\bin
4跳过权限检查启动MySQL,
c:\mysql\bin>mysqld-nt
–skip-grant-tables
5重新打开一个窗口,进入c:\mysql\bin目录,设置root的新密码
c:\mysql\bin>mysqladmin
-u
root
flush-privileges
password
"newpassword"
c:\mysql\bin>mysqladmin
-u
root
-p
shutdown
将newpassword替换为你要用的root的密码,第二个命令会提示你输入新密码,重复第一个命令输入的密码。
6停止MySQL
Server,用正常模式启动Mysql
7.你可以用新的密码链接到Mysql了。
Unix&Linux:
1用root或者运行mysqld的用户登录系统;
2.利用kill命令结束掉mysqld的进程;
3.使用–skip-grant-tables参数启动MySQL
Server
shell>mysqld_safe
–skip-grant-tables
&
4为root@localhost设置新密码
shell>mysqladmin
-u
root
flush-privileges
password
"newpassword"5.重启MySQL
Server
当初次在机器上安装完Mysql时,你可以匿名进行访问数据库或者以不带口令的root身份进入数据库另外如果你是一个管理员,你还要进行一些用户的建立及授权,这又涉及到设置密码的问题下面我们就讨论一下如何设置密码:首先我们应该知道Mysql数据库中的口令存储必须用password()函数加密它因为在user表中是以加密形式存储口令,而不是作为纯文本如果你没有加密,直接在数据库中执行以下语句:use mysqlinsert into user (host,user,password) values('%','user_name','your password');flush privileges;相信结果不会让你满意因为服务器比较的是加密的值,所以服务器连接一定失败这里需要说明的是flush privileges;这条命令起到了重新加载授权表你也可以在shell下直接用mysqladmin -u root reload或者mysqladmin -u root flush-privileges来实现重载授权表在Mysql环境下,你可以使用以下语句进行设置密码:1insert into user(host,user,password) values('%','user_name',password("your password");2set password for user_name = password("your password")以上两种方法都必须进行重载授权表3当然你也可以在创建一个用户时直接设置密码,grant语句将为你自动加密口令如:grant all on to user_name@% identified by "your password";另外你也可以在shell环境下用mysqladmin程序来设置密码如: mysqladmin -u root password "your password"
打开mysqlexe和mysqldexe所在的文件夹,复制路径地址
2
打开cmd命令提示符,进入上一步mysqlexe所在的文件夹。
3
输入命令 mysqld --skip-grant-tables 回车,此时就跳过了mysql的用户验证。注意输入此命令之后命令行就无法 *** 作了,此时可以再打开一个新的命令行。注意:在输入此命令之前先在任务管理器中结束mysqldexe进程,确保mysql服务器端已结束运行。
然后直接输入mysql,不需要带任何登录参数直接回车就可以登陆上数据库。
输入show databases; 可以看到所有数据库说明成功登陆。
其中mysql库就是保存用户名的地方。输入 use mysql; 选择mysql数据库。
show tables查看所有表,会发现有个user表,这里存放的就是用户名,密码,权限等等账户信息。
输入select user,host,password from user; 来查看账户信息。
更改root密码,输入update user set password=password('123456') where user='root' and host='localhost';
再次查看账户信息,select user,host,password from user; 可以看到密码已被修改。
退出命令行,重启mysql数据库,用新密码尝试登录。
测试不带密码登录mysql,发现还是能够登陆上,但显示数据库时只能看到两个数据库了,说明重启之后跳过密码验证已经被取消了。
我这地方重启数据库之后之所以不带密码任然能够登录是因为我的数据库里存在设无须口令的账户。
方法1 使用phpmyadmin,这是最简单的了,修改mysql库的user表, 不过别忘了使用PASSWORD函数。 方法2 使用mysqladmin,这是前面声明的一个特例。 以下为引用的内容:mysqladmin -u root -p password mypasswd 输入这个命令后,需要输入root的原密码,然后root的密码将改为mypasswd。 把命令里的root改为你的用户名,你就可以改你自己的密码了。 当然如果你的mysqladmin连接不上mysql server,或者你没有办法执行mysqladmin, 那么这种方法就是无效的。 而且mysqladmin无法把密码清空。 下面的方法都在mysql提示符下使用,且必须有mysql的root权限: 方法3 以下为引用的内容:mysql> INSERT INTO mysqluser (Host,User,Password)
VALUES(\%,jeffrey,PASSWORD
mysql> FLUSH PRIVILEGES 确切地说这是在增加一个用户,用户名为jeffrey,密码为biscuit。在《mysql中文参考手册》里有这个例子,所以我也就写出来了。 注意要使用PASSWORD函数,然后还要使用FLUSH PRIVILEGES。 方法4 和方法三一样,只是使用了REPLACE语句 以下为引用的内容:mysql> REPLACE INTO mysqluser (Host,User,Password)
VALUES(\%,jeffrey,PASSWORD
mysql> FLUSH PRIVILEGES 方法5
使用SET PASSWORD语句, mysql> SET PASSWORD FOR jeffrey@"%" = PASSWORD
你也必须使用PASSWORD()函数, 但是不需要使用FLUSH PRIVILEGES。 方法6 使用GRANT IDENTIFIED BY语句 mysql> GRANT USAGE ON TO jeffrey@"%" IDENTIFIED BY
这里PASSWORD()函数是不必要的,也不需要使用FLUSH PRIVILEGES。 注意: PASSWORD() [不是]以在Unix口令加密的同样方法施行口令加密。
以上就是关于mysql数据库密码忘了怎么办全部的内容,包括:mysql数据库密码忘了怎么办、mac怎样修改本地mysql数据库密码、java连接数据库问题。 怎么在本地查看自己的mysql数据库的账号密码呢等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)