MySQL8.0安装后不能正常使用的经历以及解决办法

2023-11-01

装了个MySQL给自己的阿里云服务器,毕竟钱不能白花要提高自己Linux上的经验,要多折腾实践蹂躏(实际上操作过程中是我被蹂躏的一方)一下才行。

(1)阶段1:登录不了MySQL

首先MySQL安装完成,我装的是MySQL最近版本8.0有最新的用最新的了。发现了一个问题就是我设置不了密码也登录不进去,报错ERROR 1045 (28000),搜了网上的一个帖子在my.cnf
上添加一个skip-grant-tables就可以使用MySQL了,结果没想到这才问题的刚刚开始。

[root@localhost bin]# mysql -u root -p
Enter password: 
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

添加完新的属性,能使用MySQL但是发现设置不了密码,几乎是随便输根本不校验就进去,如果是一个项目很多人都能接触到,这样就很危险,谁都能进去瞎玩(在之前银行维护项目中,数据库这部分专门分了一个分组group,设置了很多用户一级一级的权限)。

(2)阶段2:不用校验密码也能随便登陆

觉得这个问题要解决,不能将就。首先想到的问题是我设置一下mysql.user密码,给他一个确定的密码他也许就不会不校验密码直接登录MySQL。于是就查询mysql用户信息

select * from mysql.user;

发现第一个问题就是没有看到密码password这一项(看图片上半部分),实际上密码对应的字段就是authentication_string(这应该是5.7以及5.7以后版本都会这样对应)
第二个问题发现这个字段面线是加密过的,怎样把自己的密码加密呢,这一要用到一个password()函数对密码进行加密
在这里插入图片描述

(3)阶段3 修改密码语法报错

于是执行修改密码操作

update mysql.user set authentication_string=password('123456') where user='root';

然而发现报错,更新不了密码,提示语法有问题,查了一下别的帖子发现人家也都是这么用的,从语法上看没看出什么问题

ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '('root') where user='root'' at line 1

最终发现一个帖子mysql5.7更改密码应该采用命令ALTER USER ‘root’@'localhost’IDENTIFIED BY ‘XXXXXX’ ,而且MySQL的密码设置是有要求的,

MySQL 设置的密码中必须至少包含一个大写字母、一个小写字母、一个特殊符号、一个数字,密码长度至少为8个字符

。 所以你设置密码也最好不要弄个123456之类的密码,按照要求来设置,否则还会报错的而且错误提示也不够直接能看出问题。

(4)新错误说你不能执行更改密码

按照上面的alter语句以及符合密码要求的密码,输入到mysql命令行,出现新的报错

ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement

这是我们之前设置的my.cnf引起的,但是你去掉并重启mysql生效你会发现,跟第一阶段一样登录不进去,
这时候还是搜索问题发现可能是要刷新权限
stackoverflow上的相关问题,注意第二个回答,第一个鬼知道为什么会被accept
解决方法:执行下面语句,成功后再ALTER USER ‘root’@'localhost’IDENTIFIED BY ‘XXXXXX’ 即可

flush privileges;

这时候就很正常了,就像你之前是用别人配置好的MySQL那样了。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

MySQL8.0安装后不能正常使用的经历以及解决办法 的相关文章

  • 无法打开 phpmyadmin,require_once(./libraries/common.inc.php):无法打开流:没有这样的文件或目录

    当我做php usr share phpmyadmin index php 我明白了 PHP 警告 require once libraries common inc php 无法打开流 第 33 行 usr share phpmyadmi
  • MySQL:为什么 IN 子句中的第 5 个 ID 会极大地改变查询计划?

    给出以下两个查询 Query 1 SELECT log id FROM log WHERE user id IN 188858 188886 189854 203623 204072 and type in 14 15 17 ORDER B
  • mysqldump创建空sql文件? [Windows 上的 php 和 mysql]

    我尝试转储数据库 我尝试了指定 mysqldump exe 的完整路径或仅使用 mysqldump 它仍然给我一个 0kb dumpfile sql 细节 编程语言 PHP 数据库 MySql 5 XX 操作系统 服务器 Windows S
  • 搜索多个表 (SQL)

    我需要能够有一个 SQL 查询来使用简单的搜索来搜索我的数据库 这是我的表格现在的样子 Table artists id name Table albums id artistID name Table songs id albumID n
  • 错误:SQLSTATE[HY000] [2002] 无法建立连接,因为目标计算机主动拒绝连接

    当我调试代码时突然发生错误 它有一系列关于数据库连接的错误 ERROR SQLSTATE HY000 2002 No connection could be made because the target machine actively
  • 如何限制mySQL中的搜索和替换字符串

    我用它来搜索和替换 mySQL 中的字符串 UPDATE products SET prodname REPLACE prodname S S 这些产品包含诸如 TYLENOL TABS 100 S 之类的字符串 我想将其转换为 TYLEN
  • MySQL创建表中的日期格式

    我必须使用 MySql 创建一个表 它可以按以下格式存储日期 我尝试过如下 CREATE TABLE birth date DATE 但它不起作用 因为日期格式是 YYYY MM DD 我该怎么办 谢谢 MySQL 或几乎任何其他数据库 中
  • MySQL 行级锁

    我不确定行级锁是如何工作的 但这是我的问题 我有一个表 T id int balance int engine InnoDB 我想锁定 ID 1 的行 所以我开始一个像这样的事务 start transaction select from
  • Yii2 从 MySQL 中的表登录的分步指南

    我开始在 Yii2 中迈出第一步 到目前为止 我已经能够编写一个应用程序并将数据库中的表连接到它 就像我在 Yii1 中学到的那样 该表是contacts我的创建视图中的表单将数据发送到数据库 没有任何问题 问题是我只能在 Yii2 内置的
  • MySQL 错误“连接过多”

    我正在将 MySQL 5 0 用于由 GoDaddy linux 托管的网站 我正在对我的网络应用程序进行一些测试 突然我注意到页面刷新速度非常慢 最后 经过漫长的等待 我到达了一个页面 上面写着 MySQL 错误 连接太多 它指向我连接到
  • mysql:谁阿米?

    有没有whoami类似mysql中的函数 我正在从远程主机连接到 mysql 命令行 我不确定我的 IP 地址是否解析为域名 我想看到类似的东西 mysql gt whoami User Host username resolved hos
  • Laravel 4 - JOIN - 相同的列名

    我目前使用此代码从数据库中检索所需的数据 query DB table packages gt join assigned packages function join use id join gt on packages id assig
  • 将歌词存储在 MySQL 数据库中

    我想知道在 mysql 数据库中存储音乐 歌词 的最佳方式是什么 以及用于此目的的设置是什么 另外 我想要表格来存储断线 我正在考虑使用 指示新行并使用 php 替换字符串 我不知道从哪里开始 或者使用什么参数 varchar int 我知
  • sql连接一个表中的两个字段

    我有一个预订表 其中有两个人 我想将 person 1 作为一行返回 将 person 2 作为新行返回 但该人的 id 与人员表相关 这是我所得到的 但没有提取预订信息 SELECT people FROM select booking
  • 使用 mariaDB 将 sql 转储文件安装到 docker 容器

    我刚刚学习 docker 的基础知识 但一直停留在从本地系统导入 SQl 文件上 我使用的是 Windows 10 并允许我的 docker 容器访问我的共享驱动器 我有一个位于 D 上的 SQL 文件 我想导入到从 docker hub
  • 如何使用默认约束为mysql中的列创建随机数?

    DEFAULT 约束在接受字符串或当前日期值方面没有问题 我需要的是一个约束 每次创建实体时都会创建一个随机的 4 位数字 我尝试了以下代码 但它返回语法错误 ALTER TABLE client number ADD 代码 INT 4 D
  • 从 MySQL 返回结果时的数字顺序

    我的数据库表中有以下类型的标题 Topic 1 blah blah Topic 2 blah blah Topic 3 blah blah Topic 10 blah blah Topic 11 blah blah etc 选择查询将始终返
  • Hibernate HQL Join 查询 DOT 节点,没有左侧

    我有两个模型类 应用程序 java Entity Table name Application catalog mysqldb XmlRootElement public class Application extends BaseObje
  • 当子查询具有组列时,MySQL 8 不使用 INDEX

    我们刚刚从 mariadb 5 5 迁移到 MySQL 8 一些更新查询突然变得很慢 经过更多调查 我们发现当子查询有组列时 MySQL 8不使用索引 例如 下面是一个示例数据库 桌子users维护每种类型用户的当前余额 表 帐户 维护每天
  • MySql 西班牙语字符数据

    我有一个包含西班牙语字符的数据库 为了填充数据库 我从字符编码 UTF 8 的客户端页面获取值 当我在 mySql 数据库中插入值时 行包含更改的数据 例如 如果我插入 M xico 数据库中的条目是 M xico 其影响是当我对指定 M

随机推荐

  • JVM:(十六)垃圾回收器

    文章目录 16 1 GC分类和性能指标 16 1 1 垃圾收集器分类 16 1 2 评估GC的性能指标 16 2 垃圾回收器概述 16 2 1 垃圾回收器发展史 16 2 2 7种经典的垃圾回收器 16 2 3 7款经典收集器与垃圾分代之间
  • GIT使用

    Windows系统Git安装教程 详解Git安装过程 Git视频教程 1 使用流程 1 使用默认路径创建本地仓库 git init 查看当前仓库状态信息 git status 2 将某个文件加入暂存区 git add
  • 在生产计划项目中使用甘特图的5大好处!

    在生产计划中 会不断接收很多的订单项目 这时候就需要能够合理安排时间 资源和任务之间的关系的工具 以最好的方式去安排资源 并按时完成交货订单 所以 你需要使用可视化的甘特图工具 甘特图是什么呢 甘特图 Gantt chart 又称为横道图
  • 主题:ioctl函数详细说明(2)

    通常 一个用户程序使用ioctl sockid SIOCDEVPRIVATE char ifr 来调用与某种设备 指像WaveLAN那样的特殊设备 相关的 ioctl命令 这里ifr是struct ifreq ifr形式的变量 用户程序应当
  • GPU单机单卡/单机多卡/多机单卡/多机多卡的实现过程

    一单机单卡 coding UTF 8 单机单卡 对于单机单卡 可以吧参数和计算都定义再GPU上 不过如果参数模型比较大 显存不足等 就得放在CPU上 import tensorflow as tf with tf device cpu 0
  • 用计算机对视频进行剪裁和编辑,如何裁剪视频?怎么在电脑上裁剪视频?

    原标题 如何裁剪视频 怎么在电脑上裁剪视频 如何裁剪视频 过几天 我将代表部门上台讲ppt 上月有些什么收获 但现在有一个问题难倒了我 ppt尾页会插入一个视频 内容是部门其他同事的心得分享 但视频尺寸与ppt屏幕不符 看起来很别扭 抱着不
  • react第一个页面的详解之函数组件

    1 研究 div 欢迎学习react div 替代性 本质就是一个函数 函数可以调用 接收参数 并且有返回值 2 拆分代码如下 普通声明函数 结果跟之前一样 3 函数的参数使用 4 将函数变成组件的方式调用
  • lvgl arm linux帧buffer移植方法

    目录 1 源码获取 2 修改对应配置 3 编译文件 4 测试程序 5 实际效图片 1 源码获取 lvgl有已经移植好的项目只需下载编译即可 项目地址 GitHub lvgl lv port linux frame buffer LVGL c
  • AD20之常见原理图错误及处理方法(1)

    一 标签号重复 关键英文 Compiler Duplicate Component Designators 解释 编译器重复组件指示符 就是你的标签号重复了 解决方法 1 仔细检查重复的一些标签号 改成不一样的名字 2 既然它指示错误 那我
  • ROS之rviz显示GNSS/INS运动轨迹

    目录 一 显示自定义圆形轨迹 二 显示GNSS INS轨迹 2 1代码show path cpp 2 2CMakeLists txt 2 3显示效果 一 显示自定义圆形轨迹 参考 九 ROS在rviz中实时显示轨迹 nav msgs Pat
  • java使用redis进行位图法统计活跃用户

    位图法 位图是通过将数组下标与应用中的一些值关联映射 数组中该下标所指定的位置上的元素可以用来标识应用中值的情况 是否存在或者数目 或者计数等 位图数组中每个元素在内存中占用1位 所以可以节省存储空间 位图是一种非常简洁快速的数据结构 它能
  • 使用SVN时,不小心将D盘整个设为直接存储路径了,导致整个d盘有被版本控制即有绿色勾或者红色感叹号,怎样取消D盘的Subversion的属性

    显示隐藏文件 工具 gt 文件夹选项 gt 查看 gt 显示隐藏文件 把D盘目录下的 svn目录删除即可
  • C++实现的利用LR(1)分析表对赋值表达式进行语法制导翻译生成四元式及汇编代码

    赋值语句的语法制导翻译 后续已完善算术运算文法 赋值文法 布尔运算文法 if while do while和复合语句文法 编译器项目已上传GitHub https github com sleep jyx compiler 一 需要的语义过
  • JS逆向入门教程p1 浏览器设置 常用工具

    1 准备工作 http 编程语言 网络apidavaScript 逆向 js逆向 安卓逆向 ios逆向 PC逆向 调试 图像识别 下载城南Post助手 fiddler wireshark 鲨鱼 抓包工具 通过进程抓包 fiddler插件 f
  • Java原子类详解

    待完成
  • 有模型强化学习和免模型强化学习有什么区别?

    有模型强化学习 Model Based Reinforcement Learning 和无模型强化学习 Model Free Reinforcement Learning 是两种不同的强化学习方法 有模型强化学习是指 智能体在学习过程中能够
  • MIT6.S081实验环境搭建

    MIT6 S081 lab 环境搭建 本文参考了MIT的官方指南和知乎文章环境搭建 step1 首先需要一个ubuntu20 04的系统 我使用的是vscode的WSL2连接的ubuntu20 04 使用virtual box建一个ubun
  • sql程序面试题

    一 有以下几张表及表结构 Student Sid Sname Sage Ssex 学生表 Course Cid Cname Tid 课程表 SC Sid Cid Score 成绩表 Teacher Tid Tname 教师表 查询平均成绩大
  • 【华为OD机试真题 JAVA】篮球比赛

    JS版 华为OD机试真题 JS 篮球比赛 标题 篮球比赛 时间限制 1秒 内存限制 65536K 语言限制 不限 篮球 5V5 比赛中 每个球员拥有一个战斗力 每个队伍的所有球员战斗力之和为该队伍的总体战斗力 现有10个球员准备分为两队进行
  • MySQL8.0安装后不能正常使用的经历以及解决办法

    装了个MySQL给自己的阿里云服务器 毕竟钱不能白花要提高自己Linux上的经验 要多折腾实践蹂躏 实际上操作过程中是我被蹂躏的一方 一下才行 1 阶段1 登录不了MySQL 首先MySQL安装完成 我装的是MySQL最近版本8 0有最新的