当前位置:首页 » 操作系统 » mysql密码忘记linux

mysql密码忘记linux

发布时间: 2022-10-02 17:26:32

linux重置mysql的root密码

linux系统重置mysql的root密码本质上就是修改mysql的root密码,要修改root密码,要看具体的情况,用户可以参考如下两种情况 。

一、如果知道root密码,只是更换mysql的root密码,可以通过mysqladmin来进行修改。执行如下命令:

1

sudomysqladmin-uroot-ppassword"你要修改的密码"

执行命令后,会提示用户输入mysql的root密码,这时候输入原来的mysql root密码回车即可。

⑵ linux mysql改密码忘记了怎么办

MySQL密码的恢复方法之一
1.首先确认服务器出于安全的状态,也就是没有人能够任意地连接MySQL数据库
因为在重新设置MySQL的root密码的期间,MySQL数据库完全出于没有密码保护的
状态下,其他的用户也可以任意地登录和修改MySQL的信息。可以采用将MySQL对外的端口封闭,并且停止Apache以及所有的用户进程的方法实现服务器的准安全状态。最安全的状态是到服务器的Console上面操作,并且拔掉网线。
2.修改MySQL的登录设置:
#
vi
/etc/my.cnf
在[mysqld]的段中加上一句:skip-grant-tables
保存并且退出vi。
3.重新启动mysqld
#
/etc/init.d/mysqld
restart
(
service
mysqld
restart
)
4.登录并修改MySQL的root密码
mysql>
USE
mysql
;
mysql>
UPDATE
user
SET
Password
=
password
(
'new-password'
)
WHERE
User
=
'root'
;
mysql>
flush
privileges
;
mysql>
quit
5.将MySQL的登录设置修改回来
#
vi
/etc/my.cnf
将刚才在[mysqld]的段中加上的skip-grant-tables删除
保存并且退出vi。
6.重新启动mysqld
#
/etc/init.d/mysqld
restart
(
service
mysqld
restart
)
7.恢复服务器的正常工作状态
将步骤一中的操作逆向操作。恢复服务器的工作状态。
MySQL密码的恢复方法之二
如果忘记了MySQL的root密码,可以用以下方法重新设置:
1.
KILL掉系统里的MySQL进程;
killall
-TERM
mysqld
2.
用以下命令启动MySQL,以不检查权限的方式启动;
safe_mysqld
--skip-grant-tables
&
3.
然后用空密码方式使用root用户登录
MySQL;
mysql
-u
root
4.
修改root用户的密码;
mysql>
update
mysql.user
set
password=PASSWORD('新密码')
where
User='root';
mysql>
flush
privileges;
mysql>
quit
重新启动MySQL,就可以使用新密码登录了
MySQL密码的恢复方法三
有可能你的系统没有
safe_mysqld
程序(比如我现在用的
ubuntu操作系统,
apt-get安装的mysql)
,
下面方法可以恢复
1.
停止mysqld;
/etc/init.d/mysql
stop
(您可能有其它的方法,总之停止mysqld的运行就可以了)
2.
用以下命令启动MySQL,以不检查权限的方式启动;
mysqld
--skip-grant-tables
&
3.
然后用空密码方式使用root用户登录
MySQL;
mysql
-u
root
4.
修改root用户的密码;
mysql>
update
mysql.user
set
password=PASSWORD('newpassword')
where
User='root';
mysql>
flush
privileges;
mysql>
quit
重新启动MySQL
/etc/init.d/mysql
restart
就可以使用新密码
newpassword
登录了。

⑶ linux mysql 忘记密码 怎么修改密码

1.例如你的 root用户现在没有密码,你希望的密码修改为123456,那么命令是:
mysqladmin -u root password 123456

2.如果你的root现在有密码了(123456),那么修改密码为abcdef的命令是:
mysqladmin -u root -p password abcdef
注意,命令回车后会问你旧密码,输入旧密码123456之后命令完成,密码修改成功。

3.如果你的root现在有密码了(123456),那么修改密码为abcdef的命令是:
mysqladmin -u root -p123456 password abcdef (注意-p 不要和后面的密码分
开写,要写在一起,不然会出错,错误如下所示)

4.使用phpmyadmin,这是最简单的了,修改mysql库的user表,
不过别忘了使用PASSWORD函数。

忘记密码:
下面我们提供了6种不同的修改mysql root用户的密码,与增加mysql用户的方法。
方法一:
使用phpmyadmin,这是最简单的了,修改mysql库的user表,
不过别忘了使用PASSWORD函数。

方法二:
使用mysqladmin,这是前面声明的一个特例。
mysqladmin -u root -p password mypasswd
输入这个命令后,需要输入root的原密码,然后root的密码将改为mypasswd。
把命令里的root改为你的用户名,你就可以改你自己的密码了。
当然如果你的mysqladmin连接不上mysql server,或者你没有办法执行mysqladmin,
那么这种方法就是无效的。
而且mysqladmin无法把密码清空。
下面的方法都在mysql提示符下使用,且必须有mysql的root权限:

方法三:
mysql> INSERT INTO mysql.user (Host,User,Password)
VALUES('%','jeffrey',PASSWORD('biscuit'));
mysql> FLUSH PRIVILEGES
确切地说这是在增加一个用户,用户名为jeffrey,密码为biscuit。
在《mysql中文参考手册》里有这个例子,所以我也就写出来了。
注意要使用PASSWORD函数,然后还要使用FLUSH PRIVILEGES。

方法四 :
和方法三一样,只是使用了REPLACE语句
mysql> REPLACE INTO mysql.user (Host,User,Password)
VALUES('%','jeffrey',PASSWORD('biscuit'));
mysql> FLUSH PRIVILEGES

方法五:
使用SET PASSWORD语句,
mysql> SET PASSWORD FOR jeffrey@"%" = PASSWORD('biscuit');
拟也必须使用PASSWORD()函数,
但是不需要使用FLUSH PRIVILEGES。

方法六:
使用GRANT ... IDENTIFIED BY语句
mysql> GRANT USAGE ON *.* TO jeffrey@"%" IDENTIFIED BY 'biscuit';
这里PASSWORD()函数是不必要的,也不需要使用FLUSH PRIVILEGES。
注意: PASSWORD() [不是]以在Unix口令加密的同样方法施行口令加密。
MySQL 忘记口令的解决办法
如果 MySQL 正在运行,首先杀之: killall -TERM mysqld。
启动 MySQL :bin/safe_mysqld --skip-grant-tables &
就可以不需要密码就进入 MySQL 了。
然后就是
>use mysql
>update user set password=password("new_pass") where user="root";
>flush privileges;
重新杀 MySQL ,用正常方法启动 MySQL 。

其它办法:

办法一: 在linux下忘记mysql的密码,咋整?有一种方法可以很快的重设密码。
首先,关闭mysql.
这个时候你用Mysqladmin shutdown来关闭mysql基本是不可能的,为啥,因为你不知到密码了么,用其它用户去连接mysql库,会提示你没有权限。
其次,直接用kill命令也是不行的。mysqld_safe启动以后,如果mysqld被kill掉,这个进程会自动重启,真是坑爹啊!
那么,只能使出绝招了
killall -TERM mysqld
第二步,到root用户下(或者是mysql服务的安装用户下)绕开安全权限启动mysqld
/usr/local/mysql/bin/mysqld_safe --skip-grant-tables &
第三步,修改Mysql库中的user表,重新赋予新的权限
>use mysql
>update user set password=password("new_pass") where user="root";
>flush privileges;
注意,这步会把所有user=root的账户密码都设为这个,可以在where里加入针对性的限定条件
第四步,重新kill掉mysqld,然后重启,一切ok

办法二:
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-grant-tables
保存并且退出vi。

3.重新启动mysqld
# /etc/init.d/mysqld restart
Stopping MySQL: [ OK ]
Starting MySQL: [ OK ]

4.登录并修改MySQL的root密码
# /usr/bin/mysql
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 3 to server version: 3.23.56
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql> USE mysql ;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
mysql> UPDATE user SET Password = password ( 'new-password' ) WHERE User = 'root' ;
Query OK, 0 rows affected (0.00 sec)
Rows matched: 2 Changed: 0 Warnings: 0
mysql> flush privileges ;
Query OK, 0 rows affected (0.01 sec)
mysql> quit
Bye

5.将MySQL的登录设置修改回来
# vi /etc/my.cnf
将刚才在[mysqld]的段中加上的skip-grant-tables删除
保存并且退出vi。

6.重新启动mysqld
# /etc/init.d/mysqld restart
Stopping MySQL: [ OK ]
Starting MySQL: [ OK ]

⑷ linux mysql修改密码命令

想知道linux下怎么修改密码吗?下面由我为大家整理了linux mysql修改密码命令,希望大家喜欢!

linux mysql修改密码命令

1.修改root密码

linux mysql修改密码命令方法1:使用mysqladmin命令

--适用于记得root旧密码,修改root密码

语法:

mysqladmin -u用户名 -p旧密码 password 新密码

例如:

# mysqladmin -u root -proot password mysql

--注意:如当旧密码输入错误时会报如下错误

# mysqladmin -u root -proot1 password mysql

mysqladmin: connect to server at 'localhost' failed

error: 'Access denied for user 'root'@'localhost' (using password: YES)'

linux mysql修改密码命令方法2:直接更新user表password字段

--适用于忘记root密码,而对root密码进行重置

Step 1: 修改MySQL的登录设置

# vi /etc/my.cnf

--windows系统是my.ini文件

--在[mysqld]的段中加上一句:skip-grant-tables,如没有[mysqld]字段,可手动添加上

[mysqld]

datadir=/var/lib/mysql

socket=/var/lib/mysql/mysql.sock

skip-name-resolve

skip-grant-tables

Step 2: 重新启动mysql

[root@gc ~]# service mysql restart

Shutting down MySQL..[确定]

Starting MySQL...[确定]

Step 3: 登录并修改MySQL的root密码

--此时直接用mysql即可无需密码即可进入数据库了

[root@gc ~]# mysql

Welcome to the MySQL monitor. Commands end with ; or g.

Your MySQL connection id is 2

Server version: 5.5.24 MySQL Community Server (GPL)

Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its

affiliates. Other names may be trademarks of their respective

owners.

Type 'help;' or 'h' for help. Type 'c' to clear the current input statement.

mysql> use mysql;

Database changed

mysql> update user set password=password('new_password') where user='root';

Query OK, 5 rows affected (0.00 sec)

Rows matched: 5 Changed: 5 Warnings: 0

mysql> flush privileges;

Query OK, 0 rows affected (0.00 sec)

--注意:如果没做step1,直接用mysql登录时会报如下错误

[root@gc ~]# mysql

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

Step 4: 将MySQL的登录设置修改回来

再删除/etc/my.cnf文件中的skip-grant-tables

Step 5: 重新启动mysql

[root@gc ~]# service mysql restart

Shutting down MySQL..[确定]

Starting MySQL...[确定]

2.修改mysql其它用户密码

同样,普通用户也可以用上面的方法

--使用mysqladmin命令

[root@njdyw ~]# mysqladmin -u user1 -ppass1 password pass2

--直接修改数据库表

[root@njdyw ~]# mysql -u user1 -ppass1 –Dmysql

mysql> update user set password=password('pass2') where user='user1';

mysql> flush privileges;

⑸ linux中的mysql数据库密码忘记了怎么办

今天我们主要是讲一下关于linux忘记mysql密码处理方法,下面提供了5种linux忘记mysql密码找回方法哦。
方法一:
# /etc/init.d/mysql stop
# mysqld_safe --user=mysql --skip-grant-tables --skip-networking &
# mysql -u root mysql
mysql> update user set password=password(newpassword) where user=root;
mysql> flush privileges;
mysql> quit
# /etc/init.d/mysql restart
# mysql -uroot -p
enter password: <输入新设的密码newpassword>
mysql>
方法二:
直接使用/etc/mysql/debian.cnf文件中[client]节提供的用户名和密码:
# mysql -udebian-sys-maint -p
enter password: <输入[client]节的密码>
mysql> update user set password=password(newpassword) where user=root;
mysql> flush privileges;
mysql> quit
# mysql -uroot -p
enter password: <输入新设的密码newpassword>
mysql>
方法三:
这种方法我没有进行过测试,因为我的root用户默认密码已经被我修改过了,那位有空测试一下,把结果告诉我,谢谢!!
# mysql -uroot -p
enter password: <输入/etc/mysql/debian.cnf文件中[client]节提供的密码>
方法四:
方法如下: 1, 关闭mysql服务 /etc/init.d/mysqld stop 2,使用 –skip-grant-tables选项启动mysql服务,可以修 改/etc/inin.d/mysqld脚本启动位置增加此选项, vi /etc/init.d/mysqld
方法如下:
1, 关闭mysql服务
/etc/init.d/mysqld stop
2,使用 –skip-grant-tables选项启动mysql服务,可以修 改/etc/inin.d/mysqld脚本启动位置增加此选项,
vi /etc/init.d/mysqld
在下面运行启动的语句里增加--skip-grant-tables
/usr/bin/mysqld_safe --skip-grant-tables --datadir="$datadir" --socket="$socketfile"
--log-error="$errlogfile" --pid-file="$mypidfile"
加入--skip-grant-tables的意思是启动mysql服务的时候跳 过权限表认证。启动后,连接到mysql的root不需要口令
3,重新启动mysql服务
/etc/init.d/mysqld start
4. 修改root用户的密码;
mysql> update mysql.user set password=password(123456) where user=root;
mysql> flush privileges;
mysql> quit
5. 重新启动mysql,就可以使用 新密码登录了。
mysql
mysql -u root –p
输入密码:123456
6,关闭mysql服务
/etc/init.d/mysqld stop
7, 重新修改第2步修改的/etc/init.d/mysqld,使其保持原来不变,也就是取消--skip-grant-tables语句
8,重新 启动mysql服务
/etc/init.d/mysqld start

⑹ linux下mysql忘记密码怎么办

如果不是root密码:用root进去,修改mysql数据库user表咯。

如果是root密码:

方法一:
MySQL提供跳过访问控制的命令行参数,通过在命令行以此命令启动MySQL服务器:
safe_mysqld --skip-grant-tables&
即可跳过MySQL的访问控制,任何人都可以在控制台以管理员的身份进入MySQL数据库。
需要注意的是在修改完密码以后要把MySQL服务器停掉重新启动才会生效

⑺ Linux下MySQL忘记root密码怎么办

1.修改MySQL的配置文件(默认为/etc/my.cnf),在[mysqld]下添加一行skip-grant-tables

2.保存配置文件后,重启MySQL服务 service mysqld restart

3.再次进入MySQL命令行 mysql -uroot -p,输入密码时直接回车,就会进入MySQL数据库了,这个时候按照常规流程修改root密码即可。

4.密码修改完毕后,再按照步骤1中的流程,删掉配置文件中的那行,并且重启MySQL服务,新密码就生效了。

⑻ linux系统mysql忘记root密码怎么登录

如果你有root权限的话,可以重新修改mysql的密码步骤如下:

1、修改MySQL的配置文件(默认为/etc/my.cnf),在[mysqld]下添加一行 skip-grant-tables
2、保存配置文件后,重启MySQL服务 service mysqld restart
3、再次进入MySQL命令行 mysql -u root -p,输入密码时直接回车,就会进入MySQL数据库了,这个时候按照常规流程修改root密码即可。一般输入:mysql_secure_installation,然后根据提示输入新密码。

密码修改完毕后,再按照步骤1中的流程,删掉配置文件中新增加的那行,并且重启MySQL服务,新密码就生效了。

⑼ linux下mysql忘记密码怎么办

方法一:

#/etc/init.d/mysqlstop
#mysqld_safe--user=mysql--skip-grant-tables--skip-networking&
#mysql-urootmysql
mysql>updateusersetpassword=password(newpassword)whereuser=root;
mysql>flushprivileges;
mysql>quit
#/etc/init.d/mysqlrestart
#mysql-uroot-p
enterpassword:<输入新设的密码newpassword>
mysql>


方法二:
直接使用/etc/mysql/debian.cnf文件中[client]节提供的用户名和密码:
# mysql -udebian-sys-maint -p
enter password: <输入[client]节的密码>
mysql> update user set password=password(newpassword) where user=root;
mysql> flush privileges;
mysql> quit
# mysql -uroot -p
enter password: <输入新设的密码newpassword>
mysql>

⑽ Linux系统下忘记MySql密码怎么办

如果不是root密码:用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
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 3 to server version: 3.23.56
Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the buffer.
mysql> USE mysql ;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
mysql> UPDATE user SET Password = password ( ‘new-password’ ) WHERE User = ‘root’ ;
Query OK, 0 rows affected (0.00 sec)
Rows matched: 2 Changed: 0 Warnings: 0
mysql> flush privileges ;
Query OK, 0 rows affected (0.01 sec)
mysql> quit
Bye
5.将MySQL的登录设置修改回来
# vi /etc/my.cnf
将刚才在[mysqld]的段中加上的skip-grant-tables删除
保存并且退出vi。
6.重新启动mysqld
# /etc/init.d/mysqld restart
Stopping MySQL: [ OK ]
Starting MySQL: [ OK ]
windows
1.以系统管理员身份登陆系统。
2.打开cmd—–net start 查看mysql是否启动。启动的话就停止net stop mysql.
3.我的mysql安装在d:\usr\local\mysql4\bin下。
4.跳过权限检查启动mysql.
d:\usr\local\mysql4\bin\mysqld-nt –skip-grant-tables
5.重新打开cmd。进到d:\usr\local\mysql4\bin下:
d:\usr\local\mysql4\bin\mysqladmin -uroot flush-privileges password “newpassword”
d:\usr\local\mysql4\bin\mysqladmin -u root -p shutdown 这句提示你重新输密码。
6.在cmd里net start mysql
7.搞定了。
2,MySQL4.1以上版本一种密码错误问题的解决方法
1 # SET PASSWORD FOR ’some_user’@’some_host’ = OLD_PASSWORD(‘newpwd’);
2 # FLUSH PRIVILEGES;
3,Mysql数据库修复
myisamchk -r -q d:\mysql\data\latin1\*
r代表修复
q代表快速
d:\mysql\data\latin1\*数据库里面 *代表里面的所有的文件

方法三:
如果你忘记了你的MYSQL的root口令的话,你可以通过下面的过程恢复。
1. 向mysqld server 发送kill命令关掉mysqld server(不是 kill -9),存放进程ID的文件通常在MYSQL的数据库所在的目录中。
kill `cat /mysql-data-directory/hostname.pid`
你必须是UNIX的root用户或者是你所运行的SERVER上的同等用户,才能执行这个操作。
2. 使用`--skip-grant-tables' 参数来启动 mysqld。
3. 使用`mysql -h hostname mysql'命令登录到mysqld server ,用grant命令改变口令。你也可以这样做:`mysqladmin -h hostname -u user password 'new password''。
(其实也可以用use mysql; update user set password =password('yourpass') where user='root' 来做到。)
4. 载入权限表: `mysqladmin -h hostname flush-privileges' ,或者使用 SQL 命令`FLUSH PRIVILEGES'。(当然,在这里,你也可以重启mysqld。)

方法四:(一定要先备份)
1,重新在另一台电脑上安装相同版本的MySQL
2,删除忘记密码的电脑中MySQL安装目录中\data\mysql的全部内容(要先停止MySQL服务)
3,Copy新装的电脑上MySQL安装目录中\data\mysql的全部内容 to 刚刚删除的目录中
4,启动MySQL服务

这样就只有一个root用户了,设置密码

热点内容
苹果火影忍者脚本 发布:2025-05-16 23:23:46 浏览:450
python写入数据库 发布:2025-05-16 23:19:11 浏览:698
修复系统时什么配置好 发布:2025-05-16 22:52:07 浏览:803
逆战脚本挂机 发布:2025-05-16 22:30:01 浏览:936
java随机产生数 发布:2025-05-16 22:25:52 浏览:256
java任务管理 发布:2025-05-16 22:17:02 浏览:572
安卓如何修改cpu 发布:2025-05-16 21:58:20 浏览:366
pythonainb 发布:2025-05-16 21:45:56 浏览:857
淘汰服务器可以做家用电脑吗 发布:2025-05-16 21:41:31 浏览:844
游程编码c语言 发布:2025-05-16 21:26:51 浏览:587