mysql - 新安装的 MySQL 服务器需要密码
问题描述
我在 virtualbox 中运行 Ubuntu 20.04 并在其上运行 mysql-server。我删除了旧的 mysql-server 并使用重新安装它
sudo apt remove mysql-server
sudo apt install mysql-server
按照有关digitalocean的教程,我尝试运行sudo mysql_secure_installation
,但脚本要求输入密码。
此外,当使用 mysql-client 时,我得到以下输出:
userone@userone-VirtualBox:~$ sudo mysql -u root
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
我尝试了几次删除并重新安装使用
sudo apt remove --purge mysql-server
但我不断收到密码请求对话框。在不提供密码的情况下点击 Return 会引发以下错误:
userone@userone-VirtualBox:~$ sudo mysql_secure_installation
Securing the MySQL server deployment.
Enter password for user root:
Error: Access denied for user 'root'@'localhost' (using password: NO)
有人知道为什么新安装需要密码吗?
- Ubuntu 20.04
- MySQL 8.0.25-0ubuntu0.20.04.1
编辑:似乎我新安装的 mysql-server 的密码也是 root ?这是我在以前的安装中设置为密码并且在清除时没有完全删除的东西,还是对 mysql-server 来说是新的?我记得以前安装的默认密码是空白的。此外,我以前的所有测试数据库仍然可用,我希望在卸载 mysql-server 时它们会消失。
编辑:我手动删除
/var/lib/mysql
/var/lib/mysql-files
/var/lib/mysql-keyring
/var/lib/mysql-update
它仍然需要密码,现在它不再接受我的旧密码
解决方案
要开始删除过程,请从“开始”菜单导航到“设置”,然后选择“应用程序”。在搜索框中搜索 sql。SQL Server(版本)(位)。... 选择卸载/更改。在 SQL Server 对话框弹出窗口中选择删除以启动 SQL Server 安装向导。
推荐阅读
- javascript - 如何在不将 HTML 元素包装在 Javascript 中的情况下将第一个单词包装在字符串中?
- node.js - node.js Socket传输重叠
- javascript - 无法使用 node.js 保存到 mongodb
- mysql - percona 的 pt-achive 占用了过多的 CPU 和数据库连接
- swift - 如何使用 Codable 处理这种 JSON 格式
- php - InnoDB 在事务提交时重复插入
- flutter - 如何在颤动中创建布局
- c - C程序中的变量在Visual Studio中表现得很奇怪
- excel - 自动复选框项目生成
- javascript - 如何选择一个元素,我从哪里开始写作?