mysql 如何更改root密码

方法一
使用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(iscuit));
mysql> FLUSH PRIVILEGES
确切地说这是在增加一个用户,用户名为jeffrey,密码为biscuit。


方法四
mysql> REPLACE INTO mysql.user (Host,User,Password)
VALUES(%,jeffrey,PASSWORD(iscuit));
mysql> FLUSH PRIVILEGES

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

方法六
使用GRANT ... IDENTIFIED BY语句
mysql> GRANT USAGE ON *.* TO jeffrey@"%" IDENTIFIED BY iscuit;
这里PASSWORD()函数是不必要的,也不需要使用FLUSH PRIVILEGES。
注意: PASSWORD() [不是]以在Unix口令加密的同样方法施行口令加密。
方法七
update user set password=PASSWORD("新密码") where user='root';
 
本地无root权限修改MYSQL密码法

打开CMD首先停止服务

net stop mysql

进入mysql安装目录下的bin文件夹,然后输入

mysqld-nt --skip-grant-tables

跳过密码检测

然后另外新打开一个cmd窗口

输入mysql 直接回车可以以root权限进入mysql

use mysql

update user set password=password("新密码") where user="root";

flush privileges;

如果无错误提示,密码即可更改成功。

 
二、执行sql脚本文件
方法一 使用cmd命令执行(以windows为例,unix或linux的在其类似的控制台下运行)
    格式:【Mysql的bin目录】\mysql –u用户名 –p密码 –D数据库<【sql脚本文件路径全名】
    示例:D:\mysql\bin\mysql –uroot –p123456 -Dtest<d:\test\ss.sql
    注意事项:
      1、如果在sql脚本文件中使用了use 数据库,则-D数据库选项可以忽略
      2、如果【Mysql的bin目录】中包含空格,则需要使用“”包含,如:
        “C:\Program Files\mysql\bin\mysql” –u用户名 –p密码 –D数据库<【sql脚本文件路径全名】
      3、如果需要将执行结果输出到文件,可以采用以下模式
          D:\mysql\bin\mysql –uroot –p123456 -Dtest<d:\test\ss.sql>d:\dd.txt

方法二 进入mysql的控制台后,使用source命令执行
   1、进入mysql控制台
       D:\mysql\bin\mysql –uroot –p123456 -Dtest
   2、执行sql脚本文件
       Mysql>source 【sql脚本文件的路径全名】
引用 
另外,当用客户端连接 mysql 时,发现无法连接,看来需要对用户进行重新授权。操作如下: 
[root@cicro108 mysql]# bin/mysql -uroot -p -h 127.0.0.1
Enter password: 
Welcome to the MySQL monitor. Commands end with or /g. 
Your MySQL connection id is 1863 to server version: 4.1.20-standard 
Type 'help;' or '/h' for help. Type '/c' to clear the buffer. 
mysql> grant ALL PRIVILEGES ON *.* to root@"%" identified by "mysql" ; 
Query OK, 0 rows affected (0.17 sec) 
发现这样更改权限以后,远程仍然不能连接,但是用下面的操作就可以了。 
mysql> grant ALL PRIVILEGES ON *.* to root@"%" identified by "mysql" WITH GRANT OPTION; 
Query OK, 0 rows affected (0.17 sec) 
此刻, root 可以被远程连接,当然这里建立其他非 root 用户也可以远程连接。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值