Linux使用MySQL忘记root密码及修改MySQL默认编码

下面是详细讲解“Linux使用MySQL忘记root密码及修改MySQL默认编码”的完整攻略。

忘记root密码

当你忘记在Linux系统上使用MySQL的root密码时,可以通过以下步骤重置它。

步骤一:停止MySQL服务

在终端运行以下命令停止MySQL服务。

sudo systemctl stop mysql

步骤二:启动MySQL服务器跳过认证

使用下面的命令启动mysqld服务,--skip-grant-tables选项可以让我们可以跳过认证阶段。

sudo mysqld_safe --skip-grant-tables &

步骤三:使用mysql客户端连接到服务器

使用以下命令连接到MySQL服务器,这个时候,我们不需要输入密码。

mysql -u root

步骤四:重置root密码

现在我们需要更新root用户的密码,请运行以下命令:

UPDATE mysql.user SET authentication_string=PASSWORD('new_password') WHERE User='root';

这里的new_password是你想要设置的新密码。然后,我们需要刷新权限表。

FLUSH PRIVILEGES;

步骤五:重启MySQL服务

我们重新启动MySQL服务。

sudo systemctl restart mysql

好了,现在你已经重置了MySQL root密码。

修改MySQL默认编码

如果在Linux系统上使用MySQL时,因为默认字符集与应用程序所需字符集不兼容而出现乱码情况,这时需要修改MySQL默认编码。

步骤一:编辑MySQL配置文件

编辑MySQL的配置文件/etc/mysql/mysql.conf.d/mysqld.cnf,添加如下内容:

[client]
default-character-set=utf8

[mysqld]
character-set-server=utf8
collation-server=utf8_general_ci

步骤二:重启MySQL服务

执行以下命令重启MySQL服务器。

sudo systemctl restart mysql

这样一来,MySQL的默认字符集和排序规则就被修改为utf8,可以很好地解决乱码问题。

示例说明

示例一:重置MySQL Root密码

假设你已经输入错误的MySQL Root密码,无法访问它。要重置它,你可以执行以下几步:

sudo systemctl stop mysql
sudo mysqld_safe --skip-grant-tables &  # 显式启动mysqld进程
mysql -u root  # 连接到MySQL服务器,这个时候不需要密码

此时,你应该会看到 mysql> 命令行提示符。使用以下命令更新Root用户的密码:

UPDATE mysql.user SET authentication_string=PASSWORD('new_password') WHERE User='root';
FLUSH PRIVILEGES;

接下来,你可以断开与MySQL服务器的连接:

quit;

最后,重启MySQL服务使之生效:

sudo systemctl restart mysql

此时,你应该可以使用新密码访问MySQL服务器了。

示例二:修改MySQL默认编码

在一个WEB项目中,用户不时报告乱码问题。接下来,我们将演示如何在MySQL中设置默认编码以解决这个问题。首先,我们将编辑MySQL的配置文件:

sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf

在文件末尾,添加以下选项:

[client]
default-character-set=utf8

[mysqld]
character-set-server=utf8
collation-server=utf8_general_ci

保存并退出文件。然后,重启MySQL服务器:

sudo systemctl restart mysql

现在,MySQL默认字符集被设置为utf8,乱码问题应该已经被解决。注意,即使数据库中存在乱码问题,因为字符集已被更改,新数据将以正确的字符集插入,因此我们不必担心数据的丢失。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Linux使用MySQL忘记root密码及修改MySQL默认编码 - Python技术站

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

相关文章

  • MySQL百万级数据量分页查询方法及其优化建议

    MySQL百万级数据量分页查询方法及其优化建议 分页查询是常用的数据库操作之一,但当数据量达到百万级以上时,如何优化分页查询成为了开发者们面临的难题。本文将详细讲解如何处理MySQL百万级数据量的分页查询,以及相关的优化建议。 传统分页查询方法 传统的分页查询方法通常是使用LIMIT和OFFSET来控制返回结果的数量和排列顺序,例如: SELECT * FR…

    database 2023年5月19日
    00
  • 如何单机部署多个 MySQL 8.0 实例 ?

    在服务器资源有限的情况下,可利用该方案快速搭建各类 mysql 架构方案。各 MySQL 实例共享一个 mysqld 主程序,但各实例数据目录是独立的,存放在不同的文件夹中;好了、废话不多说,直接上干货,具体搭建步骤如下 环境介绍 实例 主机 mysql port mysqlx port datadir mysql1 192.168.31.100 3306 …

    MySQL 2023年4月8日
    00
  • MySQL与JDBC之间的SQL预编译技术讲解

    你想了解 MySQL 与 JDBC 之间的 SQL 预编译技术讲解,下面我将详细为你讲解。 1. SQL 预编译技术简介 SQL 预编译技术是一种将 SQL 语句和参数一起发送到数据库服务器的高效技术,它能够帮助我们避免因为 SQL 注入等问题导致的安全问题,同时也能提高 SQL 执行的效率。 JDBC 是 Java Database Connectivit…

    database 2023年5月21日
    00
  • SpringCloud+Eureka+Feign+Ribbon的简化搭建流程,加入熔断,网关和Redis缓存[2]

    作者:故事我忘了¢个人微信公众号:程序猿的月光宝盒 [toc]## 前提:本篇是基于 SpringCloud+Eureka+Feign+Ribbon的简化搭建流程和CRUD练习[1] 的修改与拓展 1.修改consumer的CenterFeign.java,把返回值全部设置为String /** * 是consumer调用provider(需要指定provi…

    Redis 2023年4月11日
    00
  • Spring Boot如何解决Mysql断连问题

    当使用Spring Boot连接Mysql数据库时,有时会出现Mysql断连的问题,需要通过一些配置和优化来解决。 以下是解决Mysql断连问题的完整攻略: 1. 关闭Mysql的连接超时机制 默认情况下,Mysql会设置一个“wait_timeout”参数,用于控制MySQL服务器主动断开闲置连接的时间。默认值为8小时,即8 * 3600秒。 这个超时机制…

    database 2023年5月22日
    00
  • windows下bat批处理执行Mysql的sql语句

    要在Windows下使用.bat批处理执行MySQL数据库的SQL语句,必须遵循以下步骤: 安装MySQL 首先,你需要在本地计算机上安装MySQL。官方网站提供了Windows版MySQL的安装包。安装程序将提示你输入root用户的密码,确保密码是安全的。安装完成后,启动MySQL服务。 创建.bat批处理文件 打开任意文本编辑器并创建一个新文件。在文件中…

    database 2023年5月22日
    00
  • mysql数据库常见的优化操作总结(经验分享)

    MySQL 数据库常见的优化操作总结 为什么需要优化 随着网站访问量的增加,数据库的性能问题变得越来越突出。如果没有进行优化,可能会导致响应缓慢、连接超时等问题。因此,对于一个网站的数据库来说,优化是非常重要的一个环节。 性能优化的主要目标 性能优化的主要目标是使数据库在保障数据完整性的前提下,尽可能地提高查询效率和响应速度。 优化建议 以下是一些常见的优化…

    database 2023年5月19日
    00
  • Access与sql server的语法区别总结

    Access和SQL Server都是关系型数据库管理系统,二者在语法方面有些许不同。下面是Access和SQL Server语法区别的总结: 1. 创建表格的语法 Access中创建一个表格的语法如下: CREATE TABLE table_name ( column1 datatype, column2 datatype, … ); 而SQL Ser…

    database 2023年5月21日
    00
合作推广
合作推广
分享本页
返回顶部