MySQL数据库配置信息查看与修改方法详解

 更新时间:2022年06月23日 11:08:07   作者:拾年一剑  
我们通常把在项目中使用的常量收集在一个文件,这个文件就是配置文件,下面这篇文章主要给大家介绍了关于MySQL数据库配置信息查看与修改的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下

摘要

当在不同团队间使用MySQL数据库时,最好是保证数据库的配置信息是一致的,否则会因为不同开发同事的SQL规范不一样,导致出现一些不必要的SQL问题;

本篇博客,主要记录如何查看数据的配置信息,及相关解释。

查看

查看数据基本信息

查看版本

查看版本
select version();

显示所有可用的字符集;
SHOW CHARACTER SET;

只显示包含utf8的字符集;
SHOW CHARACTER SET LIKE '%utf8%';

显示所有的校对规则;
SHOW COLLATION;

只显示包含utf8的校对规则;
SHOW COLLATION LIKE '%utf8%';

查询sql_mode

select @@global.sql_mode;

select @@sql_mode;

确保一致,否则容易出问题;

查看在配置文件中定义的变量

mysqld --help --verbose

查看MySQL的服务当前运行时的变量

SHOW [{GLOBAL|SESSION}] VARIABLES [LIKE ''];
SELECT @@{GLOBAL|SESSION}.VARIABLE_NAME;
SELECT * FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_NAME='VARIABLE_NAME';
SELECT * FROM INFORMATION_SCHEMA.SESSION_VARIABLES WHERE VARIABLE_NAME='VARIABLE_NAME';

显示MySQL所有的系统变量

SHOW VARIABLES;

常用查询

查个别信息,通过like过滤:

show variables like '%datadir%';
show variables like '%basedir%';

SHOW VARIABLES LIKE 'character%';
SHOW VARIABLES LIKE 'collation_%';

是否大小写敏感

show Variables like '%table_names';

lower_case_table_names=0 区分大小写

lower_case_table_names=1 表示不区分大小写

如何修改?

注意:

mysql 8.0以前,可以通过,先停止mysql服务,再修改配置文件(如lower_case_table_names=1),再重启mysql服务的方式来修改;

mysql8.0 要求我们不能在initialize之后再更改lower_case_table_names 的值,也就是说,再通过更改 my.cnf 文件是不管用的。所以需要删除原来的所有数据,我的数据目录是在/user/local/mysql/data/,进入到该目录进行删除,默认的路径为:/var/lib/mysql 删除该路径下的所有文件即可

查看MySQL默认认证方式

show global variables like '%default_auth%';

也支持修改。详见下面修改的章节。

举例,下面是静态修改:

# vi /etc/my.cnf

[mysqld]
default_authentication_plugin = mysql_native_password

修改MySQL的系统变量

根据变量修改的方式

动态变量:可以在MySQL运行时调整其指,并立即生效;

例如:

set global sort_buffer_size=value

静态变量:需要在配置文件中修改,重启服务后生效;例如:/etc/my.cnf

根据变量的生效范围

全局变量:服务级别的设定,对整个服务生效,所有回话,当时已经连接的不生效,重新连接才生效;
例如:

set global sort_buffer_size=value

会话变量:仅对当前会话生效,其他会话和新会话不受影响;会话结束值即销毁;

例如:

set session sort_buffer_size=value

总结

到此这篇关于MySQL数据库配置信息查看与修改的文章就介绍到这了,更多相关MySQL配置信息查看修改内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • MySQL错误ERROR 1615 解决方法

    MySQL错误ERROR 1615 解决方法

    这篇文章主要介绍了MySQL错误ERROR 1615 解决方法,这个问题是由于Mysql配置不当造成的,需要的朋友可以参考下
    2015-01-01
  • MySql中取前几行数据使用limit来完成

    MySql中取前几行数据使用limit来完成

    在mysql中是没有top关键字的,不过可以用limit来完成此功能,下面举例为大家详细介绍下它的使用方法,不会的朋友可以学习下
    2013-07-07
  • MySQL数据库迁移到Oracle数据库的完整步骤记录

    MySQL数据库迁移到Oracle数据库的完整步骤记录

    在研发过程中可能会用到将表数据库中的表结构及数据迁移到另外一种数据库中,比如说从mysql中迁移到oracle中,这篇文章主要给大家介绍了关于MySQL数据库迁移到Oracle数据库的完整步骤,需要的朋友可以参考下
    2024-06-06
  • MySQL中Next-Key Lock底层原理实现

    MySQL中Next-Key Lock底层原理实现

    Next-KeyLock是MySQL InnoDB存储引擎中的一种锁机制,结合记录锁和间隙锁,用于高效并发控制并避免幻读,本文主要介绍了MySQL中Next-Key Lock底层原理实现,感兴趣的可以了解一下
    2025-03-03
  • 一文带你了解MySQL基于规则的优化

    一文带你了解MySQL基于规则的优化

    MySQL依据一些规则,竭尽全力的把这些很糟糕的语句转换成某种可以比较高效执行的形式,这个过程也可以被称作查询重写,本章主要就是详细讲解下这些比较重要的重写规则,感兴趣的小伙伴可跟着小编一起来学习
    2023-05-05
  • mac下重置mysl8.0.11密码的方法

    mac下重置mysl8.0.11密码的方法

    mac下安装mysql8.0.11时要求输入密码之后想修改密码。接下来通过本文给大家介绍mac下重置mysl8.0.11密码的方法,需要的朋友可以参考下
    2018-06-06
  • MySQL InnoDB中的锁机制深入讲解

    MySQL InnoDB中的锁机制深入讲解

    这篇文章主要给大家介绍了关于MySQL InnoDB中锁机制的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用MySQL具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-05-05
  • 一文详解MySQL是如何解决幻读的

    一文详解MySQL是如何解决幻读的

    事务A按照一定条件进行数据读取,期间事务B插入了相同搜索条件的新数据,事务A再次按照原先条件进行读取操作修改时,发现了事务B新插入的数据称之为幻读,这篇文章主要给大家介绍了关于MySQL是如何解决幻读的相关资料,需要的朋友可以参考下
    2023-04-04
  • MySQL存储引擎MyISAM与InnoDB的9点区别

    MySQL存储引擎MyISAM与InnoDB的9点区别

    这篇文章主要介绍了MySQL存储引擎MyISAM与InnoDB的9点区别,写给有选择困难症的同学,需要的朋友可以参考下
    2014-08-08
  • MYSQL中统计查询结果总行数的便捷方法省去count(*)

    MYSQL中统计查询结果总行数的便捷方法省去count(*)

    查看手册后发现SQL_CALC_FOUND_ROWS关键词的作用是在查询时统计满足过滤条件后的结果的总数(不受 Limit 的限制)具体使用如下,感兴趣的朋友可以学习下
    2013-07-07

最新评论