MySQL的密码设置

986667

986667

2016-02-19 19:20

给自己一点时间接受自己,爱自己,趁着下午茶的时间来学习图老师推荐的MySQL的密码设置,过去的都会过去,迎接崭新的开始,释放更美好的自己。

  由MySQL使用用户名和口令的方法与Unix或Windows使用的方式有很多不同之处:

  ·MySQL使用于认证目的的用户名,与Unix用户名(登录名字)或Windows用户名无关。缺省地,大多数MySQL客户尝试使用当前 Unix用户名作为MySQL用户名登录,但是这仅仅为了方便。客户程序允许用-u或--user选项指定一个不同的名字,这意味着无论如何你不能使得一个数据库更安全,除非所有的MySQL用户名都有口令。任何人可以试图用任何名字连接服务器,而且如果他们指定了没有口令的任何名字,他们将成功。

  ·MySQL用户名最长可以是16各字符;典型地,Unix用户名限制为8个字符。

  ·MySQL口令与Unix口令没关系。在你使用登录到一台Unix机器口令和你使用在那台机器上存取一个数据库的口令之间没有必要有关联。

  ·MySQL加密口令使用了一个Unix登录期间所用的不同算法。

  本节将介绍如何为MySQL数据库系统的用户修改密码。

  使用myadmin实用程序

  使用mysqladmin实用程序修改密码的命令行是:

  shellmysqladmin -u user -p password "newpassword"

  运行这个命令,在提示输入密码时,数据就密码,则用户user的密码就被改为newpassword

  。如果,原来的用户没有密码,则不比指定-p选项。例如,初始化授权表之后,root用户的密码就是空的,你可以这样为root用户设立密码:

  shellmysqladmin -u root password "newpassword"

  使用语句SET PASSWORD

  使用mysqladmin为用户修改密码有一个明显的缺点,就是必须知道用户原来的密码,如果是为了给遗忘了密码的用户重设密码就无能为力了。一个专门用于修改密码的SQL语句为SET PASSWORD:

  ·SET PASSWORD = PASSWORD('some password')

  设置当前用户的口令。任何非匿名的用户能改变他自己的口令!

  连接到服务器后,你可以这样改变自己的密码:

  mysql SET PASSWORD = PASSWORD('another pass');

  ·SET PASSWORD FOR user = PASSWORD('some password')

  设置当前服务器主机上的一个特定用户的口令。只有具备存取mysql数据库的用户可以这样做。用户应该以user@hostname格式给出,这里 user和hostname完全与他们列在mysql.user表条目的User和Host列一样。例如,如果你有一个条目其User和Host字段是 'bob'和'%.loc.gov',你将写成:

  mysql SET PASSWORD FOR bob@"%.loc.gov" = PASSWORD("newpass");

  直接修改授权表

  另一种修改,密码的方法是直接修改授权表user。只有具备存取mysql数据库的用户可以这样做。

  例如,如果你有一个条目其User和Host字段是'bob'和'%.loc.gov',你将写成:

  mysql UPDATE mysql.user SET password=PASSWORD("newpass") where user="bob' AND host="%.loc.gov";

  mysqlFLUSH PRIVILEGES;

  重新设置一个遗忘的root口令

  如果你遗忘了root用户的口令,那么将会是一件非常麻烦的事。除非你有其它有特权的用户,否则很多操作都无法完成,例如,关闭数据库等等。

  你应当选用--without-grant-tables选项启动mysqld服务,你可以在这时更改授权表的相关内容,也可以用mysqlaccess检查你的授权是否到位。

  例如,如果你忘记了你的MYSQL的root口令的话,你可以通过下面的过程恢复。

  1、关闭MySQL服务器

  向mysqld server 发送kill命令关掉mysqld server(不是 kill -9),存放进程ID的文件通常在MYSQL的数据库所在的目录中。

  kill `cat /mysql-data-directory/hostname.pid`

  你必须是UNIX的root用户或者是你所运行的SERVER上的同等用户,才能执行这个操作。

  如果在windows平台上,也可以停止进程。如果是NT还可以用net stop mysql命令关闭数据库。

  2、使用'--skip-grant-tables' 参数来启动 mysqld。

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/bianchengyuyan/)

  Unix平台:

  $su mysql

  $safe_mysqld --skip-grant-tables &

  Windows平台:

  C:mysqlbinmysqld --skip-grant-tables

  以上语句,假定都位于正确的目录。

  3、连接到服务器,修改口令

  使用'mysql -h hostname mysql'命令登录到mysqld server ,用grant命令改变口令:

mysqlGRANT ALL ON *.* TO root@localhost INDENTIFIED BY 'new password'
- WITH GRANT OPTION;
mysqlGRANT ALL ON *.* TO root@% INDENTIFIED BY 'new password'
- WITH GRANT OPTION;

  (如果存在一个能从任意地址登录的root用户,初始化授权表后,生成该用户,为了安全,你可能已经删除该用户)。

  其实也可以直接修改授权表:

  mysql use mysql;

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

  你可能使用工具mysqladmin修改密码:

  shell mysqladmin -h hostname -u root password 'new password

  但是它修改的密码语服务器匹配的用户有关。如果,你从服务器主机连接,那么服务器匹配的是root@localhost,修改该用户密码,否则一般修改root@%密码,除非你有其它root用户存在。


  4. 载入权限表:

  shell mysqladmin -h hostname flush-privileges

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/bianchengyuyan/)

  或者使用 SQL 命令`FLUSH PRIVILEGES'。

  当然,在这里,你也可以重启mysqld。

展开更多 50%)
分享

猜你喜欢

MySQL的密码设置

编程语言 网络编程
MySQL的密码设置

MySQL 密码设置

编程语言 网络编程
MySQL 密码设置

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

如何为用户设置密码(MYSQL)

MySQL mysql数据库
如何为用户设置密码(MYSQL)

MySQL:如何为用户设置密码

编程语言 网络编程
MySQL:如何为用户设置密码

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

MySQL中修改密码及访问限制设置详解

PHP
MySQL中修改密码及访问限制设置详解

在MySQL中修改密码及访问限制的设置方法详解

编程语言 网络编程
在MySQL中修改密码及访问限制的设置方法详解

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

简便的MySql数据库备份的方法

简便的MySql数据库备份的方法

itudou(爱土豆)如何转换视频格式?

itudou(爱土豆)如何转换视频格式?
下拉加载更多内容 ↓