我有一个奇怪的问题,我的mysql自动丢失/重置根密码。我的意思是把它重置给任何人。这个月发生了两次。我担心这可能是一个安全问题,因为数据是开放的,只能等待没有密码的人!
以下是版本:
mysql --version
mysql Ver 14.14 Distrib 5.1.56, for redhat-linux-gnu (i386) using readline 5.1
任何帮助都将不胜感激。
更新:
来自mysql.user的select用户、主机、密码的输出;它如何处理密码被重置
| root | localhost
我正在尝试在mysql中创建新用户,
create user 'saravanakumar'@'localhost' identified by 'saravanakumar';
它将错误显示为,
ERROR 1396 (HY000): Operation CREATE USER failed for 'saravanakumar'@'localhost'
在我读完这篇文章后
我删除了我不能删除的user.But。它显示
mysql> SELECT User FROM mysql.u
我意外地删除了我的MySQL根用户的一些特权,包括修改表的能力。是否可以通过某种方法将此用户恢复到其原始状态(具有所有权限)?
UPDATE mysql.user SET Grant_priv = 'Y', Super_priv = 'Y' WHERE User = 'root';
# MySQL returned an empty result set (i.e. zero rows).
FLUSH PRIVILEGES ;
# MySQL returned an empty result set (i.e. zero rows).
#10
在windows上,我有两个root用户。
我删除了一个,并保留了本地的(root@localhost)。
我通过以下方式设置它的密码:
set password for 'root'@'localhost'= password('new_password');
我退出了,我做到了:
mysql -u root
我在mysql中。
我在等密码请求。
在卸载mysql之前..。
让我们删除用户的“根”。
mysql -u root -e "delete from mysql.user where user not in (x);"
mysql -u root -e "flush privileges;"
上述声明说,除用户"x“外,请将所有用户从mysql中删除。
让我们从centos中完全删除mysql。
service mysqld stop
yum remove mysql -y
yum remove mysql-server -y
然后我们重新安装它。
yum install mysql -y
所以我有一个两难的选择。我从另一位开发人员手中接过工作,有一个机器,我只有根用户才能访问它,我需要从它下载MySQL数据库。因此,我使用根目录,在命令行中输入mysql并获取:
Access denied for user 'root'@'localhost' (using password: NO)
然后,我尝试使用mysql --user=root --password={myrootpassword},它显示:
Access denied for user 'root'@'localhost' (using password
在尝试导航或了解有关mysql中用户的更多信息时,我意外地删除了用户根的特权。现在我无法创建新数据库、新用户等。如何将权限重新还原为用户根?
当我犯错误时,我想要做的是为我的一个数据库创建一个唯一的用户,我只想为特定的数据库而不是所有的数据库删除根用户的特权。似乎我为整个mysql删除了根用户的特权。
Tried
USE mysql;
UPDATE user SET Grant_priv='1' WHERE User='root';
FLUSH PRIVILEGES;
Getting
错误SQL查询:
使用mysql;
MySQL说:文档
1044
我对mysql用户权限进行了更改,由于某种莫名其妙的原因,除了mysql安装数据库之外,我再也看不到所有的数据库了。我不太明白为什么我看不到这些数据库,并且正在寻找关于我应该从哪里开始寻找哪里的权限可能已经搞砸了的输入。这是一个我不太熟悉的mysql层。我知道DB是存在的,但出于某种奇怪的原因,我不能将它们看作root。
mysql> SHOW GRANTS FOR 'root'@'localhost';
+------------------------------------------------------------------------+
|
我在centos 7上安装了mysql社区服务器5.7,我可以成功地远程连接到mysql服务器,也可以使用mysql命令在本地进行连接。但是在尝试连接laravel (5.8.*的最新版本)时,我得到了错误Host 'SERVER_IP_ADDRESS' is not allowed to connect to this MySQL server.
(在和中有很多这样的帖子,但事实并非如此,问题似乎并没有消失。)
所以这让我觉得这可能不是mysql的问题。
这是来自/etc/my.cnf的mysql conf
datadir=/var/lib/mysql
socket=/var
当我是root用户时,即使设置了密码,"mysql“也不需要密码就可以连接:
# mysqladmin -u root password 'whatever'
# mysql -u root -p
Enter password: (typing the 'whatever' above)
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 4 to server version: 4.1.22-standard
Type 'h
遵循这教程,一切都很好,直到我尝试用root和密码登录到phpmyadmin的那一刻:
问题1(无法登录到phpmyadmin):
mysqli_real_connect(): (HY000/1698): Access denied for user 'root'@'localhost'
问题2(在控制台期间登录时不需要密码:
sudo mysql
问题3(有两个名为“root”的用户):
SELECT User, Host FROM mysql.user;
还我
User | Host
root | %
deb