欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

三种方法为root账户指定密码_MySQL

程序员文章站 2022-05-12 16:06:33
...
前言:前段时间把mysql安装后一直没管它,当时就在奇怪为什么mysql登陆不要密码,原来一直用的超用户账户登陆的(简称超级用户)

其实只怪自己太无知,之前一直用的phpbydamin进行的数据库的可视化管理,哪里知道这么详细呢?

本文原文来源mysql官方文档5.1

正文:最开始可以使用SELECT User.Password FROM mysql.user查询mysql数据库root账户的密码

你可以用几种方法为root账户指定密码。以下介绍了三种方法:

使用SET PASSWORD语句

使用mysqladmin命令行客户端程序

使用UPDATE语句

要想使用SET PASSWORD指定密码,用root连接服务器并执行两个SET PASSWORD语句。一定要使用PASSWORD()函数来加密密码。

在Windows中的语句:

shell> mysql -u root

mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('newpwd');

mysql> SET PASSWORD FOR 'root'@'%' = PASSWORD('newpwd');

在Unix中的语句:

shell> mysql -u root

mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('newpwd');

mysql> SET PASSWORD FOR 'root'@'host_name' = PASSWORD('newpwd');

用服务器主机名替换第二个SET PASSWORD语句中的host_name。这是你指定匿名账户密码的主机名。

要想使用mysqladmin为root账户指定密码,执行下面的命令:

shell> mysqladmin -u root password "newpwd"

shell> mysqladmin -u root -h host_name password "newpwd"

上述命令适用于Windows和Unix。用服务器主机名替换第二个命令中的host_name。不一定需要将密码用双引号引起来,但是你如果密码中包含空格或专用于命令解释的其它字符,则需要用双引号引起来。

你还可以使用UPDATE直接修改user表。下面的UPDATE语句可以同时为两个root账户指定密码:

shell> mysql -u root

mysql> UPDATE mysql.user SET Password = PASSWORD('newpwd')

-> WHERE User = 'root';

mysql> FLUSH PRIVILEGES;

UPDATE语句适用于Windows和Unix。

设置完密码后,当你连接服务器时你必须提供相应密码。例如,如果你想要用mysqladmin 关闭服务器,可以使用下面的命令:

shell> mysqladmin -u root -p shutdown

Enter password: (enter root password here)