1)停止服务
sudo /etc/init.d/mysqld stop2)以安全方式启动
sudo mysqld_safe --skip-grant-tables &3)用户创建
mysql -u root4)设置密码
UPDATE user SET Password=PASSWORD('my_password') where USER='root';退出mysql控制台,重新启动服务,并尝试使用
mysql -u root -p my_password
[vikram@VoltyLinux ~]$ mysql -u root -p
Enter password: *******错误1045 (28000):拒绝访问用户'root'@'localhost‘(使用密码: YES)
发布于 2015-11-02 13:29:40
和第2步一样,在安全模式下重新启动mysql守护进程.
发出命令
select user,host,password from mysql.user where user='root';将输出剪切并粘贴到文本编辑器中,以便在以下操作之前和之后进行比较(散列密码列值)。
对于每一行,请注意host列。在下面的示例中,我假设我有两行。一行以%为主机,下一行为localhost
对于每一行有一个host变体,您将发出一个命令。因此,在上面的示例中,我将总共发出2个命令,例如:
SET PASSWORD FOR 'root'@'%' = PASSWORD('MyNewPassword');
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('MyNewPassword');跑
select user,host,password from mysql.user where user='root';剪切并粘贴到文本编辑器中。注意密码散列的更改。
从安全模式关闭守护进程,并正常重新启动。
尝试以根用户身份使用MyNewPassword登录
这里有几个链接。其中一个用于设置密码语法,另一个通常用于格兰特语法。
对于这个问题范围狭窄的问题,即登录,赠款将是不必要的。但是,如果没有对数据库的适当授权,除了简单的命令(如select now(); )之外,一个将被沙箱化,不能做很多事情。
我并不是说一旦密码被更改,您的根用户就没有特权。赠款对于正常用户来说是必要的。
https://stackoverflow.com/questions/33478300
复制相似问题