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日

相关文章

  • Oracle11g完全卸载的详细步骤(超管用)

    Oracle11g完全卸载的详细步骤(超管用) 1. 确认服务状态 在执行卸载前,需要保证Oracle相关服务已经停止运行,并且成功删除了Oracle安装目录和库文件等资源。 可以通过以下步骤,依次检查确认服务状态: 打开 “运行”,运行“services.msc”命令。 在列表中找到所有以Oracle名称开头的服务,确保所有的Oracle服务都已停止运行。…

    database 2023年5月22日
    00
  • Flink从socket读取数据sink到redis

    package com.lin.flink.stream.customPartition; import org.apache.flink.api.common.functions.MapFunction; import org.apache.flink.api.java.tuple.Tuple2; import org.apache.flink.strea…

    Redis 2023年4月11日
    00
  • Oracle开启和关闭的四种模式

    下面是详细讲解“Oracle开启和关闭的四种模式”的完整攻略。 一、Oracle开启和关闭的四种模式 在使用Oracle数据库时,我们需要了解Oracle的四种开启和关闭模式,它们是: NOMOUNT模式:数据库实例启动,但没有挂载数据库,此时只有16个后台进程启动。 MOUNT模式:数据库实例启动,数据库被挂载,但没有打开,该模式可以进行一些管理操作。 O…

    database 2023年5月21日
    00
  • Mysql版sql语句练习50题(小结)

    Mysql版sql语句练习50题(小结)是一篇介绍SQL语句练习的文章,其中包括50个SQL练习题。以下是这篇文章的完整攻略。 1. 标题和介绍 本文的第一个部分是标题和介绍。标题必须清晰明确,能够概括全文内容,而介绍部分要简要介绍主题,阐明文章目的和对读者所提供的帮助。 2. SQL练习题概述 在本文的第二个部分中,作者简要介绍了文章主题——SQL语句练习…

    database 2023年5月21日
    00
  • SQL – UPDATE 语句

    SQL的UPDATE语句用于修改数据库中的数据,它可以更新一条或多条记录。下面详细讲解SQL-UPDATE语句的完整攻略: UPDATE语法 UPDATE 表名 SET 字段名1=值1, 字段名2=值2, 字段名3=值3… WHERE 条件; 说明: 表名:需要修改的表名。 SET:设置需要更新的字段和字段的值。 字段名:需要更新的字段名。 值:对应字段…

    database 2023年3月27日
    00
  • win2008 r2 服务器php+mysql+sqlserver2008运行环境配置(从安装、优化、安全等)

    win2008 r2 服务器php+mysql+sqlserver2008运行环境配置 安装PHP 下载PHP 推荐从官网下载压缩包文件,例如:PHP 7.4.23 解压到指定目录 推荐解压到C盘根目录下,例如:C:\php\ 配置PHP 将php.ini-development文件修改为php.ini,例如:C:\php\php.ini 修改php.ini…

    database 2023年5月21日
    00
  • Mysql中有关Datetime和Timestamp的使用总结

    Mysql中有关Datetime和Timestamp的使用总结 Datetime和Timestamp的概述 DateTime和Timestamp是Mysql中常用的两种日期/时间类型。 DateTime存储了日期和时间,可以保存的时间范围为 ‘1000-01-01 00:00:00’ 到 ‘9999-12-31 23:59:59’。 Timestamp也存储…

    database 2023年5月22日
    00
  • Mysql5.6启动内存占用过高解决方案

    Mysql5.6启动时内存占用过高是比较常见的问题,常见的解决方案是修改Mysql配置文件,调整一些参数。以下是完整的攻略: 1. 查看Mysql当前内存占用情况 使用命令top -o RES可以查看当前系统中内存占用情况并按照内存使用量排序,其中Mysql进程的内存占用量也会被列出。 2. 修改Mysql配置文件 在Mysql的配置文件my.cnf中,可以…

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