关闭

mysql中为用户设置密码的多种方法

2412人阅读 评论(0) 收藏 举报
分类:
      当初次在机器上安装完Mysql时,你可以匿名进行访问数据库或者以不带口令的root身份进入数据库.另外如果你是一个管理员,你还要进行一些用户的建立及授权,这又涉及到设置密码的问题.下面我们就讨论一下如何设置密码:
首先我们应该知道Mysql数据库中的口令存储必须用password()函数加密它.因为在user表中是以加密形式存储口令,而不是作为纯文本.如果你没有加密,直接在数据库中执行以下语句:
复制代码 代码如下:

use mysql
insert 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环境下,你可以使用以下语句进行设置密码:
复制代码 代码如下:

1.insert into user(host,user,password) values('%','user_name',password("your password");
2.set password for user_name = password("your password")

以上两种方法都必须进行重载授权表.
3.当然你也可以在创建一个用户时直接设置密码,grant语句将为你自动加密口令.

grant all on *.* to user_name@% identified by "your password";

grant all on *.* to 'root'@'%' identified by 'engine';
flush privileges;

另外你也可以在shell环境下用mysqladmin程序来设置密码

mysqladmin -u root password "your password"
快点去试一下,没问题吧!

mysql如何设置密码

有很多方法:
1.用root 进入mysql后
mysql>set password =password('你的密码');
mysql>flush privileges;

2.使用GRANT语句
mysql>grant all on *.* to 'root'@'localhost' IDENTIFIED BY '你的密码'with grant option ; www.jb51.net
mysql>flush privileges;

3.进入mysql库修改user表
mysql>use mysql;
mysql>update user set password=password('你的密码') where user='root';

mysql>flush privileges;

###############

另外,如果你在修改mysql服务器的数据库mysql.user表的用户权限后,发现拥有管理员权限的root却无法访问数据库 mysql,这个时候你的用户权限表应该乱套了,你想修改回来,可以执行以下步骤:

(1)设置mysql的my.cnf文件:

停掉mysqld服务,改my.cnf,在[mysqld]节加一段skip-grant-tables,再启。就可以不用密码进去。然后再去改数据库mysql.user表的用户权限

(2)恢复配置文件,重启mysqld

改my.cnf,在[mysqld]节去掉skip-grant-tables,再启。

另外一个方法,如果你的帐户已经被授予*.*的增删改查权限,自己去改一下mysql库的user表的授权字段,剩下的就是等管理员刷新权限或者重启mysqld了。所以授权一定不要*.*


0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:395395次
    • 积分:5118
    • 等级:
    • 排名:第5710名
    • 原创:120篇
    • 转载:218篇
    • 译文:6篇
    • 评论:16条
    文章分类
    最新评论