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配置信息查看修改内容请搜索得牛网以前的文章或继续浏览下面的相关文章希望大家以后多多支持得牛网!

相关文章

  • SQL 优化

    SQL 优化

    SQL 优化...
    2006-12-12
  • C#编写方法实例

    C#编写方法实例

    在下面的练习中,将创建一个应用程序,它包含的一个方法能够计算一名顾问的收费金额——假定该顾问每天收取固定的费用,将根据工作了多少天来收费。首先要开发应用程序的逻辑,然后利用“生成方法存根向导”来写出这个逻辑使用的方法。接着,我们将在一个控制台应用程序中运行方法,以获得对该程序的最终印象。最后,我们将使用Visual Studio 2005调试器来检查方法调用。
    2008-04-04
  • Mysql表创建外键报错解决方案

    Mysql表创建外键报错解决方案

    这篇文章主要介绍了Mysql表创建外键报错解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-09-09
  • 简述Mysql Explain 命令

    简述Mysql Explain 命令

    MySQL的EXPLAIN命令用于SQL语句的查询执行计划(QEP)。如果你的页面返回结果很慢,你就需要使用explain去分析你的sql是否需要优化了.接下来通过本文给大家介绍Mysql Explain 命令,感兴趣的朋友一起学习吧
    2016-10-10
  • 高性能MySQL读书笔记 找出谁持有锁

    高性能MySQL读书笔记 找出谁持有锁

    周末重读了一遍《高性能MySQL》,发现有些知识点看过便忘了,没有实际动手操作一遍就是记不牢,所以今天动手操作了一下“找出谁持有锁”,并把实验步骤记录下来,有兴趣的网友可以参照一二。
    2011-01-01
  • MySQL 创建索引(Create Index)的方法和语法结构及例子

    MySQL 创建索引(Create Index)的方法和语法结构及例子

    MySQL 创建索引(Create Index)的方法和语法结构及例子
    2009-07-07
  • mysql通过find_in_set()函数实现where in()顺序排序

    mysql通过find_in_set()函数实现where in()顺序排序

    这篇文章主要介绍了mysql通过find_in_set()函数实现where in()顺序排序的相关内容,具有一定参考价值,需要的朋友可以了解下。
    2017-10-10
  • mysqld-nt: Out of memory (Needed 1677720 bytes)解决方法

    mysqld-nt: Out of memory (Needed 1677720 bytes)解决方法

    这篇文章主要介绍了mysqld-nt: Out of memory (Needed 1677720 bytes)解决方法,需要的朋友可以参考下
    2014-12-12
  • MySQL中的全表扫描和索引树扫描 的实例详解

    MySQL中的全表扫描和索引树扫描 的实例详解

    这篇文章主要介绍了MySQL中的全表扫描和索引树扫描 ,从本文的学习可以轻松的知道,全表扫描的效率相比于索引树扫描相对较低一点,但是差距不是很大,具体示例代码详解跟随小编一起看看吧
    2022-05-05
  • 开发人员为什么必须要了解数据库锁详解

    开发人员为什么必须要了解数据库锁详解

    这篇文章主要给大家介绍了关于开发人员为什么必须要了解数据库锁的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用数据库具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-03-03

最新评论