linux版mysql8配置表名不区分大小写问题

 更新时间:2024年11月30日 11:52:12   作者:猩猿亿码  
文章介绍了MySQL 8的安装步骤,包括配置忽略大小写、备份数据、停止和删除数据库文件、配置my.cnf文件、初始化、启动服务和登录设置密码,还讨论了在配置远程连接时遇到的常见问题,特别是MySQL 8版本中由于密码加密方法变化导致的问题解决方法

mysql8配置表名不区分大小写

如果在安装mysql8,初始化之前,没有在my.cnf配置忽略大小写配置:

[mysqld]
lower_case_table_names=1

我们就需要重新初始化mysql

1 备份数据库文件

停止mysql服务

systemctl stop mysqld.service 

2 删除数据库文件

删除之前,最后备份一下

sudo rm -rf /var/lib/mysql/*

3 配置

vim /etc/my.cnf

[mysqld]
lower_case_table_names=1

4 初始化

初始化,此时就会根据我们更改的新配置文件就行配置

sudo mysqld --initialize-insecure --user=mysql --datadir=/var/lib/mysql

5 启动mysql服务

systemctl start mysqld.service

6 登录mysql并设置密码

mysql -uroot -p

给root用户修改密码,新的密码为:root

注意,需要再sql命令行当中执行

ALTER USER 'root'@'localhost' IDENTIFIED BY 'root';

7 图形化工具远程登录

当前问题

在用SQLyog或Navicat中配置远程连接Mysql数据库时遇到如下报错信息,这是由于Mysql配置了不支持远程连接引起的。

在Linux系统MySQL下测试

mysql -uroot -p

use mysql;

select Host,User from user;

可以看到root用户的当前主机配置信息为localhost。

修改Host为通配符%

Host列指定了允许用户登录所使用的IP。

比如user=root Host=192.168.1.1。这里的意思就是说root用户只能通过192.168.1.1的客户端去访问。

user=root Host=localhost,表示只能通过本机客户端去访问。

而 %是个通配符 ,如果Host=192.168.1.%,那么就表示只要是IP地址前缀为“192.168.1.”的客户端都可以连接。

如果 Host=% ,表示运行任何所有的IP都有连接权限。

注意:在生产环境下不能为了省事将host设置为%,这样做会存在安全问题,具体的设置可以根据生产环境的IP进行设置。

update user set host = '%' where user ='root';

Host修改完成后记得执行flush privileges使配置立即生效:

flush privileges;

测试

如果安装的是 MySQL5.7 版本,接下来就可以使用SQLyog或者Navicat成功连接至MySQL了。

如果安装的是MySQL8 版本,Navicat会成功连接至MySQL,而SQLyog连接时还会出现如下问题:

这种问题只会发生在安装mysql8.0版本当中出现

原因如下:

配置新连接报错:错误号码 2058,分析是 mysql 密码加密方法变了。

解决方法:

Linux下 mysql -u root -p 登录你的 mysql 数据库

mysql -uroot -p

然后执行这条SQL: 密码为:root

ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root';

然后在重新配置SQLyog的连接,则可连接成功了,OK。

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 安装Mysql时出现错误及解决办法

    安装Mysql时出现错误及解决办法

    因为一时手痒痒更新了一下驱动,结果导致无线网卡出了问题,本文给大家分享安装mysql时出现错误及解决办法,对安装mysql时出现错误相关知识感兴趣的朋友一起学习吧
    2015-12-12
  • Last_Errno: 1062,Last_Error: Error Duplicate entry

    Last_Errno: 1062,Last_Error: Error Duplicate entry

    Last_Errno: 1062,Last_Error: Error Duplicate entry ... for key PRIMARY
    2014-02-02
  • windows2008 64位系统下MySQL 5.7绿色版的安装教程

    windows2008 64位系统下MySQL 5.7绿色版的安装教程

    这篇文章主要给大家分享了在windows2008 64位系统下MySQL 5.7绿色版的安装教程,文中将安装步骤介绍的非常详细,相信会对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起看看吧。
    2017-05-05
  • MySQL with语句讲解

    MySQL with语句讲解

    这篇文章主要介绍了MySQL with语句小结,对于逻辑复杂的sql,with可以大大减少临时表的数量,提升代码的可读性、可维护性,对mysql with语句相关知识感兴趣的朋友一起看看吧
    2022-11-11
  • MySQL重定位数据目录的方法

    MySQL重定位数据目录的方法

    这篇文章主要介绍了MySQL重定位数据目录的实现方法,分析了重定位MySQL数据目录的实现原理与技巧,具有一定的参考借鉴价值,需要的朋友可以参考下
    2014-12-12
  • MySQL中LAST_INSERT_ID()函数的实现

    MySQL中LAST_INSERT_ID()函数的实现

    本文主要介绍了MySQL中LAST_INSERT_ID()函数的作用和使用方法,LAST_INSERT_ID()函数用于返回上一次INSERT操作生成的自增ID,对于需要获取新插入记录的主键的场景非常重要,感兴趣的可以了解一下
    2024-10-10
  • MySQL判断列的值既不为NULL又不为空字符串的问题

    MySQL判断列的值既不为NULL又不为空字符串的问题

    这篇文章主要介绍了MySQL判断列的值既不为NULL又不为空字符串的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-08-08
  • 快速解决MySQL服务无法启动显示:系统出错,发生系统错误1067, 进程意外终止的两种方法

    快速解决MySQL服务无法启动显示:系统出错,发生系统错误1067, 进程意外终止的两种方法

    本人因为phpstudy的MySQL数据库与我的电脑上的MySQL数据库发生冲突,当我将MySQL服务器的服务名从MySQL改为MySQL5后,启动MySQL5服务后就报错:系统出错, 发生系统错误 1067, 进程意外终止,现在将这个解决方法分享给大家,需要的朋友可以参考下
    2024-06-06
  • MySQL中的HBase、ES的特点和区别解析

    MySQL中的HBase、ES的特点和区别解析

    本文介绍了MySQL、HBase和ElasticSearch的特点和区别,MySQL是一个关系型数据库,支持事务和SQL,而HBase和ElasticSearch是NoSQL数据库,HBase基于HDFS,支持大规模数据的读写,而ElasticSearch是一个分布式的全文搜索引擎,感兴趣的朋友跟随小编一起看看吧
    2025-01-01
  • MySQL8.0数据库开窗函数图文详解

    MySQL8.0数据库开窗函数图文详解

    开窗函数为将要被操作的行的集合定义一个窗口,它对一组值进行操作,不需要使用GROUP BY子句对数据进行分组,能够在同一行中同时返回基础行的列和聚合列,这篇文章主要给大家介绍了关于MySQL8.0数据库开窗函数的相关资料,需要的朋友可以参考下
    2023-06-06

最新评论