我不知道我的MySQL根密码;我怎么才能知道呢?是否有存储此密码的文件?
我正在跟踪这个链接,但我在本地没有directadmin目录。
我不知道我的MySQL根密码;我怎么才能知道呢?是否有存储此密码的文件?
我正在跟踪这个链接,但我在本地没有directadmin目录。
当前回答
如果您在过去已经设置了密码,mysql -uroot -p解决方案将不起作用,
在我的例子中,我使用了上面的一些答案来解决这个问题(Ubuntu 16)。结果是:
sudo service mysql stop
sudo mysqld_safe --skip-grant-tables &
如果你在屏幕上看到这段文字: mysqld_safe UNIX套接字文件目录“/var/run/mysqld”不存在。 然后做:
sudo mkdir -p /var/run/mysqld
sudo chown mysql:mysql /var/run/mysqld
sudo mysqld_safe --skip-grant-tables & # Look at the & at the end!
进入其他终端设置密码如下:
sudo mysql -u root
mysql> use mysql;
mysql> SET PASSWORD FOR 'root'@'localhost'=PASSWORD('__NEW__PASSWORD__');
mysql> flush privileges;
mysql> quit;
然后重新启动服务并登录
# end mysqld_safe in the other terminal
sudo service mysql start
sudo mysql -h 127.0.0.1 -uroot -p
其他回答
除非包管理器要求您在安装期间输入根密码,否则默认的根密码是空字符串。要连接到新安装的服务器,输入:
shell> mysql -u root --password=
mysql>
要更改密码,请返回unix shell并输入:
shell> mysqladmin -u root --password= password root
新密码为“root”。现在连接到服务器:
shell> mysql -u root --password=
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
哎呀,密码改了。使用新的根:
shell> mysql -u root --password=root
...
blah, blah, blah : mysql welcome banner
...
mysql>
宾果!做一些有趣的事情
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
+--------------------+
3 rows in set (0.00 sec)
莫里斯
在Windows系统下,请按照以下步骤重置密码
从任务管理器中停止Mysql服务 创建一个文本文件并粘贴下面的语句
MySQL 5.7.5及以前版本: SET PASSWORD FOR 'root'@'localhost' = PASSWORD('yournewpassword');
MySQL 5.7.6及以上版本: ALTER USER 'root'@'localhost'
保存为mysql-init.txt,并将其放在“C”盘。 打开命令提示符并粘贴以下内容
C:\\ > mysqld——init-file=C:\\mysql-init.txt
我被这个问题困扰了几分钟,下面是唯一可行的解决方案: https://phoenixnap.com/kb/access-denied-for-user-root-localhost
sudo mysql ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password Mysql -u root -p
使用Debian / Ubuntu mysql包,可以使用Debian -sys- maintenance用户登录,该用户拥有所有的权限,密码保存在/etc/mysql/ Debian .cnf文件中
您无法查看散列后的密码;你唯一能做的就是重置!
停止MySQL:
sudo service mysql stop
or
$ sudo /usr/local/mysql/support-files/mysql.server stop
以安全模式启动:
$ sudo mysqld_safe --skip-grant-tables
(上面一行是整个命令)
这将是一个持续的命令,直到进程结束,所以打开另一个shell/终端窗口,登录时不需要密码:
$ mysql -u root
mysql> UPDATE mysql.user SET Password=PASSWORD('password') WHERE User='root';
MySQL 5.7及以上版本:
mysql> use mysql;
mysql> update user set authentication_string=password('password') where user='root';
退出MySQL命令行:
mysql> exit
在正常模式下重启MySQL,首先停止安全模式实例:
$ mysqladmin -u root -p shutdown # (when prompted, enter the new password just set)
$ sudo service mysql start
or
$ sudo /usr/local/mysql/support-files/mysql.server start
你的新密码是“password”。