els*_*hae 5 mysql database phpmyadmin
我在本网站和许多其他论坛上以多种形式看过同样的问题.但是,我已经尝试了所有的解决方案,但仍然有相同的结果.我很确定我曾经在这个MySQL服务器上有过root权限,我甚至可以使用phpMyAdmin工具在其他查询中创建数据库.现在,当我去phpMyAdmin并点击数据库时,我受到以下问候:
如果我使用命令工具,我可以使用以下命令登录:
mysql -u root -p
Run Code Online (Sandbox Code Playgroud)
我被提示输入密码,我这样做了.当我尝试做任何其他事情时,请说:
mysql> SELECT user, host FROM mysql.user;
I get the following:
ERROR 1142 (42000): SELECT command denied to user 'root'@'localhost' for table 'user'
Run Code Online (Sandbox Code Playgroud)
我也跟着这篇文章(http://benrobb.com/2007/01/15/howto-remote-root-access-to-mysql/),因为我是从远程机器ssh到这个MySQL服务器.再次,当我尝试:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;
Run Code Online (Sandbox Code Playgroud)
在各种形式,我受到一个令人讨厌的问题:
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
Run Code Online (Sandbox Code Playgroud)
即使我使用相同的密码登录我!我还想提一下,昨天我更新了我的梨资源,我想知道这是不是因为这个混乱......
如果有人能指导我,我真的很感激.感谢您的所有时间和考虑.
Elshae
****更新****在尝试排除故障并运行mysqld时,我现在无法启动服务器备份!每次我跑:
/etc/init.d/mysql start
Starting MySQL database server: mysqld . . . . . . . . . . . . . . failed!
Run Code Online (Sandbox Code Playgroud)
我该怎么办?
停止你的MySQL服务(UNIX风格):
/etc/init.d/mysqld stop
Run Code Online (Sandbox Code Playgroud)
使用权限启动MySQL:
/usr/bin/mysqld_safe --skip-grant-tables
Run Code Online (Sandbox Code Playgroud)
使用root用户连接到mysql DB
/usr/bin/mysql -uroot -p mysql
Run Code Online (Sandbox Code Playgroud)
更新root权限
update mysql.user
set Select_priv='Y',
Insert_priv='Y',
Update_priv='Y',
Delete_priv='Y',
Create_priv='Y',
Drop_priv='Y',
Reload_priv='Y',
Shutdown_priv='Y',
Process_priv='Y',
File_priv='Y',
Grant_priv='Y',
References_priv='Y',
Index_priv='Y',
Alter_priv='Y',
Show_db_priv='Y',
Super_priv='Y',
Create_tmp_table_priv='Y',
Lock_tables_priv='Y',
Execute_priv='Y',
Repl_slave_priv='Y',
Repl_client_priv='Y',
Create_view_priv='Y',
Show_view_priv='Y',
Create_routine_priv='Y',
Alter_routine_priv='Y',
Create_user_priv='Y',
Event_priv='Y',
Trigger_priv='Y'
where User='root';
Run Code Online (Sandbox Code Playgroud)
之后,您只需要停止MySQL服务并重新开始.
我感谢大家的反馈,我终于得到了大部分。为了解决这个问题
/etc/init.d/mysql start
Starting MySQL database server: mysqld . . . . . . . . . . . . . . failed!
Run Code Online (Sandbox Code Playgroud)
我做了:
ps aux | grep mysql
Run Code Online (Sandbox Code Playgroud)
这给了我:
root 15265 0.0 0.1 3896 1284 pts/10 S 12:41 0:00 /bin/sh /usr/bin/mysqld_safe
mysql 15302 1.6 2.8 132532 29600 pts/10 Sl 12:41 0:00 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var/run/mysqld/mysqld.pid --skip-external-locking --port=3306 --socket=/var/run/mysqld/mysqld.sock
root 15303 0.0 0.0 3008 608 pts/10 S 12:41 0:00 logger -p daemon.err -t mysqld_safe -i -t mysqld
root 16160 0.0 0.0 3120 708 pts/10 R+ 12:42 0:00 grep mysql
Run Code Online (Sandbox Code Playgroud)
然后我做了:
kill -9 15265
kill -9 15302
Run Code Online (Sandbox Code Playgroud)
之后我就可以使用以下命令启动 MySQL:
/etc/init.d/mysql start
Run Code Online (Sandbox Code Playgroud)
从那里我找到了这篇文章: https: //help.ubuntu.com/community/MysqlPasswordReset对我来说,神奇之处在于:
/usr/sbin/mysqld --skip-grant-tables --skip-networking &
Run Code Online (Sandbox Code Playgroud)
我能够跟踪该线程并且也执行了以下操作:
GRANT ALL PRIVILEGES ON *.* TO root@localhost IDENTIFIED BY 'yournewrootpassword' WITH GRANT OPTION;
Run Code Online (Sandbox Code Playgroud)
唯一有点奇怪的是 root 仍然没有权利从 phpMyAdmin 创建数据库以及 root 需要的其他权限。不过,我可以从命令行创建数据库,而且现在我可以接受这一点!
再次感谢大家的宝贵时间和所有帮助!