问题背景:在安装Ubuntu 16.04操作系统后,安装mysql5.7.17,并使用root用户尝试登录mysql时显示"ERROR 1045 (28000): Access denied for user 'root'@'localhost'"错误提示。
解决过程:
步骤1. 卸载mysql-server
在安装mysql5.7.17之前,如果已经安装了旧版本的mysql-server,需要卸载掉。执行以下命令卸载:
sudo apt-get remove mysql-* # 卸载mysql
sudo apt-get autoremove # 移除系统中MySQL相关旧文件
步骤2. 下载安装mysql5.7
可以通过官方网站下载mysql5.7安装包,如:
wget https://dev.mysql.com/get/mysql-apt-config_0.8.15-1_all.deb
步骤3. 添加安装源
安装mysql前,需要添加一个安装源。执行以下命令:
sudo dpkg -i mysql-apt-config_0.8.15-1_all.deb
在弹出的对话框中选择MySQL 5.7,然后更新软件列表:
sudo apt update
步骤4. 安装mysql5.7
可以使用以下命令安装mysql5.7:
sudo apt install mysql-server
安装过程中可以设置root用户的密码。安装完成后可以使用以下命令查看是否安装成功:
sudo systemctl status mysql
步骤5. 设置root用户的权限
在mysql安装完成后,默认的root用户没有连接权限,需要手动为其添加权限。可以使用以下命令:
sudo mysql -u root # 连接mysql
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
执行后,即可成功连接mysql。
步骤6. 测试连接
可以在终端执行以下命令测试连接:
mysql -u root -p
输入root用户的密码后如果能够成功登录,则说明连接成功。
示例1:卸载mysql-server
sudo apt-get remove mysql-*
sudo apt-get autoremove
示例2:添加安装源
sudo dpkg -i mysql-apt-config_0.8.15-1_all.deb
sudo apt update
以上就是解决Ubuntu 16.04安装mysql5.7.17登录时出现"Access denied for user 'root'@'localhost'"问题的完整攻略。希望对你有所帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:解决ubuntu 16.04安装mysql5.7.17后,登录时出现ERROR 1045 (28000): Access denied for user ‘root’@’localhost’问题 - Python技术站