解决ubuntu 16.04安装mysql5.7.17后,登录时出现ERROR 1045 (28000): Access denied for user ‘root’@’localhost’问题

问题背景:在安装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技术站

(0)
上一篇 2023年5月18日
下一篇 2023年5月18日

相关文章

  • 查询mysql中执行效率低的sql语句的方法

    查询MySQL中执行效率低的SQL语句是一项非常重要的任务,可以帮助我们优化数据库的性能,提升网站的访问速度。下面我来详细讲解一下查询方法的完整攻略。 步骤一:开启慢查询日志 开启慢查询日志是查询MySQL中执行效率低的SQL语句的第一步。在MySQL的配置文件中,找到my.cnf或my.ini文件,将以下配置项添加到文件中: slow_query_log …

    MySQL 2023年5月19日
    00
  • mysql中json_replace函数的使用?通过json_replace对json对象的值进行替换

    需求描述:   在看mysql中关于json的内容,通过json_replace函数可以实现对json值的替换,   在此记录下. 操作过程: 1.查看带有json数据类型的表 mysql> select * from tab_json; +—-+—————————————————…

    MySQL 2023年4月13日
    00
  • Mysql彻底解决中文乱码问题的方案(Illegal mix of collations for operation)

    Mysql是一种常用的关系型数据库,也是Web开发中常用的数据库之一。但是,在中文字符的存储和操作中,经常出现乱码问题,这对于我们的数据处理非常不利。为了解决这个问题,我们需要采取一些特定的措施。 1. 查看当前系统所用的字符集 我们需要打开Mysql的命令行界面,输入以下命令: show variables like ‘%char%’; 这时,我们可以看到…

    MySQL 2023年5月18日
    00
  • 【必知必会的MySQL知识】②使用MySQL

    目录 前言 启动MySQL服务 连接MySQL MySQL数据库基本命令 小结 前言 根据上一篇文章【必知必会的MySQL知识】①初探MySQL的内容,想必您对MySQL数据库有了一个整体的了解了,并且应该在自己电脑上已经安装上了MySQL。这一篇呢我们来说一说这么连接上数据库并且使用它。 启动MySQL服务 前面MySQL安装的文章手把手教你安装MySQL…

    MySQL 2023年5月2日
    00
  • MySQL limit性能分析与优化

    MySQL的limit是一种非常常用的限制查询结果的方法,但是当limit条件设置较大时,可能会导致查询效率比较低下。因此针对limit可能存在性能问题,需要进行性能分析与优化的工作。 以下是“MySQL limit性能分析与优化”的完整攻略: 1.性能分析 1.1 查询分析 优化limit查询的第一步是明确查询语句的具体执行情况。可以使用EXPLAIN命令…

    MySQL 2023年5月19日
    00
  • 解析mysql 5.5字符集问题

    解析 MySQL 5.5 字符集问题的攻略包含以下步骤: 步骤一:确认 MySQL 5.5 字符集问题存在 在使用 MySQL 5.5 版本时,有时候会遇到字符集的问题,例如在插入中文到数据表中时,可能会出现乱码或者指定字符集无效等情况。因此,首先需要确认是否存在字符集问题。 可以通过以下命令来查看 MySQL 编码设置: show variables li…

    MySQL 2023年5月18日
    00
  • Mysql/SQLServer数据类型与java基本数据类型的对应

    问题描述: 假如现在你要对mysql数据库进行插入操作。因为要插入很多数据,为了效率,因此,你创建了一个PreparedStatement:insert into table values(?,?,?,?,?) 其中table表各列的数据类型分别为INTEGER,BIGINT,CHAR,TEXT,BINARY 现在你要向创建的PreparedStatemen…

    MySQL 2023年4月13日
    00
  • mysql 事务隔离级别之可能出现的问题:同一事务中无法查询已插入但未提交的数据

    若要实现查询事务中已插入但是未提交的数据则需要设置MySQL事务隔离级别为 read-uncommitted 下面了解一下MySQL的事务隔离级别: 一、事务的基本要素(ACID)   1、原子性(Atomicity):事务开始后所有操作,要么全部做完,要么全部不做,不可能停滞在中间环节。事务执行过程中出错,会回滚到事务开始前的状态,所有的操作就像没有发生一…

    MySQL 2023年4月13日
    00
合作推广
合作推广
分享本页
返回顶部