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日

相关文章

  • SQL查询语法知识梳理总结

    SQL查询语法知识梳理总结 什么是SQL查询语法 SQL(Structured Query Language)是一种用于管理关系数据库系统的语言,我们可以通过SQL语言对数据库中的数据进行查询、修改、删除等操作。 SQL查询语法就是一些用于构建查询语句的规则和语法。掌握SQL查询语法是使用关系型数据库的基础。 SQL查询语法包括哪些内容 SQL查询语法包括以…

    database 2023年5月21日
    00
  • MySQL中的运算符使用实例展示

    MySQL中的运算符使用实例展示 MySQL是一种关系型数据库管理系统,它支持多种运算符用于数据查询和处理。本文将介绍MySQL中常见的运算符及其使用实例。 算术运算符 在MySQL中,常见的算术运算符包括加、减、乘、除和求模。其使用示例如下: 示例一:加法运算 假设我们有一个students表,其中包含学生的姓名和成绩两个字段,我们想要计算所有学生的总成绩…

    database 2023年5月22日
    00
  • 详解MySQL LIMIT:限制查询结果的条数

    MySQL LIMIT 是一种非常实用的命令,可以用于限制查询结果的条数。当查询结果很大时,使用 LIMIT 可以方便地进行分页展示或者提高查询性能。 LIMIT 命令的语法 LIMIT 命令的语法如下: SELECT column_name(s) FROM table_name LIMIT number; 其中,column_name(s) 是要查询的列名…

    MySQL 2023年3月9日
    00
  • 在php MYSQL中插入当前时间

    在 PHP MySQL 中插入当前时间是一个常见的操作。下面是实现该功能的完整攻略: 步骤一:准备数据库环境 首先需要在数据库中创建一个表来存储数据。假设我们创建了一个名为 test_table 的表,其中包含两个字段:id 和 time。 CREATE TABLE test_table ( id INT PRIMARY KEY, time TIMESTAM…

    database 2023年5月22日
    00
  • 使用RestTemplate访问https实现SSL请求操作

    使用RestTemplate访问https实现SSL请求操作是非常常见的场景,本攻略将介绍如何使用RestTemplate实现这一功能。 准备工作 在进行RestTemplate访问https之前,我们需要准备以下环节:1. 证书:SSL通讯涉及到证书认证,因此我们需要将SSL证书下载至本地。可以联系网站管理员获取SSL证书。 安装SSL证书:下载完SSL证…

    database 2023年5月21日
    00
  • Mysql查看版本号的几种方式

    下面是Mysql查看版本号的几种方式的完整攻略: 几种查看 Mysql 版本的方式 1. 使用命令行查询 在命令行输入以下命令即可查询 Mysql 的版本: mysql –version 示例如下: $ mysql –version mysql Ver 14.14 Distrib 5.7.34, for Linux (x86_64) using Edit…

    database 2023年5月22日
    00
  • 详解MySQL CROSS JOIN:交叉连接

    MySQL CROSS JOIN是一种关系型连接操作,它将两个表的所有组合关系作为结果返回。对于每个表中的每行,它将与另一个表中的每行进行匹配,并创建一个新的结果表,其中每行将包含两个表中的所有列的结果。 CROSS JOIN语法如下: SELECT * FROM table1 CROSS JOIN table2; 这将将表1中的每个行与表2中的每个行组合,…

    MySQL 2023年3月9日
    00
  • MySQL 生成随机数字、字符串、日期、验证码及 UUID的方法

    MySQL 生成随机数字、字符串、日期、验证码及 UUID 的方法 在 MySQL 中,有多种方法可以生成随机数字、字符串、日期、验证码以及UUID等数据,本文将详细介绍其中常用的几种方法。 一、生成随机数字 生成随机数字的方法很简单,在MySQL中可以使用RAND()函数结合FLOOR()函数来实现。 示例: SELECT FLOOR(RAND() * 1…

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