MySQL设置根用户root密码
你可以用几种方法为root账户指定密码。以下介绍了三种方法:
· 使用SET PASSWORD语句
· 使用mysqladmin命令行客户端程序
· 使用UPDATE语句
要想使用SET PASSWORD指定密码,用root连接服务器并执行两个SET PASSWORD语句。一定要使用PASSWORD()函数来加密密码。
在Windows中的语句:
1 |
shell> <strong>mysql -u root</strong> |
1 |
mysql> <strong>SET PASSWORD FOR 'root'@'localhost' = PASSWORD('<em>newpwd</em>');</strong> |
1 |
mysql> <strong>SET PASSWORD FOR 'root'@'%' = PASSWORD('<em>newpwd</em>');</strong> |
在Unix中的语句:
1 |
shell> <strong>mysql -u root</strong> |
1 |
mysql> <strong>SET PASSWORD FOR 'root'@'localhost' = PASSWORD('<em>newpwd</em>');</strong> |
1 |
mysql> <strong>SET PASSWORD FOR 'root'@'<em>host_name</em>' = PASSWORD('<em>newpwd</em>');</strong> |
用服务器主机名替换第二个SET PASSWORD语句中的host_name。这是你指定匿名账户密码的主机名。
要想使用mysqladmin为root账户指定密码,执行下面的命令:
1 |
shell> <strong>mysqladmin</strong> -u root password "<em>newpwd</em>" |
1 |
shell> <strong>mysqladmin</strong> -u root -h <em>host_name</em> password "<em>newpwd</em>" |
上述命令适用于Windows和Unix。用服务器主机名替换第二个命令中的host_name。不一定需要将密码用双引号引起来,但是你如果密码中包含空格或专用于命令解释的其它字符,则需要用双引号引起来。
你还可以使用UPDATE直接修改user表。下面的UPDATE语句可以同时为两个root账户指定密码:
1 |
shell> <strong>mysql -u root</strong> |
1 |
mysql> <strong>UPDATE mysql.user SET Password = PASSWORD('<em>newpwd</em>')</strong> |
1 |
-> <strong>WHERE User = 'root';</strong> |
1 |
mysql> <strong>FLUSH PRIVILEGES;</strong> |
UPDATE语句适用于Windows和Unix。
设置完密码后,当你连接服务器时你必须提供相应密码。例如,如果你想要用mysqladmin 关闭服务器,可以使用下面的命令:
1 |
shell> <strong>mysqladmin -u root -p shutdown</strong> |
1 |
Enter password: <strong>(enter root password here)</strong> |