phpmyadmin与mysql修改root密码的方式

本文介绍了phpMyAdmin的三种登录方式:cookie、http 和 config,并详细讲解了各自的配置方法。此外还介绍了如何通过不同方法修改MySQL root用户的密码,以及在忘记密码时的解决策略。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1 phpmyadmin的几种登陆方式

phpmyadmin 有3种授权模式

  • cookie:显示一个web登陆页面,输入mysql的用户名和密码,然后进入管理界面
  • http:显示一个windows登陆框,输入mysql的用户名和密码,然后进入管理界面
  • config:把mysql用户名和密码直接填入config.inc.php,不显示登陆界面,直接进入管理界面

phpmyadmin的配置文件名为config.inc.php,各个版本的config.inc.php修改方法如下:

  • 2.6以前版本:将config.inc.sample.php改为config.inc.php
  • 2.7版本:将config.default.php改为config.inc.php
  • 2.8版本:用配置脚本’script/setup.php’生成配置文件,生成的文件拷贝下来,手动存为config.inc.php
  • 2.8版本以上提供配置脚本

2 使用cookie授权模式

将’auth_type’改为’cookie’,然后修改’blowfish_secret’用一个任意字符串作为cookie的加密字符串,如果没有加密钥匙,系统会显示”配置文件现在需要绝密的短语密码(blowfish_secret) ” ,配置文件如下:

        $cfg['Servers'][$i]['auth_type'] = 'cookie';

        $cfg['blowfish_secret'] = '44e2f5aece2855.93921574';

修改完毕后,访问phpmyadmin安装目录中的index.php则显示登陆窗口,输入用户名和密码完成登陆.

3 使用config授权模式

config需要这几个参数

$cfg['Servers'][$i]['auth_type'] = 'config';  //授权模式
$cfg['Servers'][$i]['user'] = 'root';         //mysql登陆用户
$cfg['Servers'][$i]['password'] = '12345';    //mysql登陆用户密码

4 使用http授权模式

$cfg['Servers'][$i]['auth_type'] = 'http';

http授权模式的登陆窗口

注意事项:如果mysql服务器端采用了4.1以上版本,而客户端连接用的是mysql4.1一下版本,对用户设置密码时注意使用OLD_PASSWORD函数,举例:

  • mysql > SET PASSWORD = OLD_PASSWORD(‘12345’)
  • mysql > /G

5 附录

除了上述三种phpmyadmin自带的方法外,还可以使用apache的配置来限制登录,在phpmyadmin目录下放置一个.htaccess文件,指定使用的密码记录文 件。然后用htpasswd来生成密码保存在该密码记录文件中(文件的内容是加密的,使用方法htpasswd /etc/php_passwd username)

httpd.conf中的内容:
<Directory "/phpmyadmin's directory">
AllowOverride AuthConfig
</Directory>

.htaccess文件的内容
authtype basic
authuserfile /etc/php_passwd
authname information
require valid-user

我们可以看到/etc/php_passwd文件中的内容类似这样:

username:2Y2CD6nfJuwL6

6 mysql 修改root密码

1.用 SET PASSWORD命令设置mysql root密码

mysql -u root
mysql>SET PASSWORD FOR 'root'@'localhost'=PASSWORD('newpass');

2.用mysqladmin设置mysql root密码

mysqladmin -u root password 'newpass'

如果root密码已经设置过采用如下方法修改:

mysqladmin -u root password oldpass 'newpass'

3.用update直接编辑mysql数据库的user表

 msyql -u root
 mysql>use mysql
 mysql> update user set password=password('newpass') where user='root';
 mysql> flush privileges;

7 忘记mysql的用户密码

以root用户为例子

第一种方式

1.修改mysql的my.cnf文件:
sudo vim /etc/mysql/my.cnf
在my.cnf文件中[mysqld]内容中添加skip-grant-table,保存修改
2.重启mysql服务 sudo /etc/init.d/mysql restart
3.在shell中重新登陆mysql -u root
mysql> use mysql;
mysql> update user set password=password(‘newpass’) where user=’root’;
mysql> flush privileges;
4.删去my.cnf中skip-grant-table,保存修改,重启mysql。

第二种方式

1.在一个终端中启动 mysqld_safe --skip-grant-table
2.在另一个终端中即可使用mysql -u root 登录mysql,不用输入密码
3.然后

mysql>UPDATE mysql.user 
    SET authentication_string = PASSWORD('MyNewPass'), password_expired = 'N'
    WHERE User = 'root' AND Host = 'localhost';
mysql>FLUSH PRIVILEGES;

4.关闭mysqld_safe进程,使用新密码登录mysql即可

7 参考

phpmyadmin设置登陆密码的几种方法
mysql修改root密码的方式

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值