1.  使用源码安装好MySQL后,其配置文件一般位于 /usr/local/my.cnf,可以使用如下命令查看查看配置文件的搜索顺序:

root@javis:~$ mysqld --help --verbose | grep -B1 -i "my.cnf"

2016-07-26 20:12:24 0 [Note] mysqld (mysqld 5.6.31) starting as process 5732...2016-07-26 20:12:24 5732 [Note] Plugin 'FEDERATED'is disabled.

Default options are read from the following filesin the given order:

/etc/mysql/my.cnf /etc/my.cnf /usr/local/mysql/my.cnf ~/.my.cnf--

-P, --port=# Port number to use for connection or 0to default to,

my.cnf, $MYSQL_TCP_PORT,/etc/services, built-indefault2016-07-26 20:12:25 5732[Note] Binlog end2016-07-26 20:12:25 5732 [Note] Shutting down plugin 'MyISAM'

2016-07-26 20:12:25 5732 [Note] Shutting down plugin 'CSV'

可以看到,红色标记的那一段话显示搜索 my.cnf 的顺序为 /etc/mysql/my.cnf、/etc/my.cnf、/usr/local/mysql/my.cnf、~/.my.cnf。

使用 'ls /etc/mysql' 命令查看到本机没有 /etc/mysql 目录。为了加快搜索速度,将 my.cnf 文件从 /usr/local/mysql/my.cnf 移动到 /etc/my.cnf

mv /usr/local/mysql/my.cnf /etc/my.cnf

2. 配置 my.cnf ,是MySQL默认使用小写的名字来对数据库和表进行命名。

UNIX/Linux系统上的MySQL会区分数据库和表名字的大小写。解决此问题的一种办法是,固定使用一种大小写形式的名字。另一种办法是,在启动服务器时,将 lower_case_table_names 系统变量设置为1,这个设置有下面两个效果:

(i)在为某个表创建相应的磁盘文件之前,服务器会先把该表的名字转换为小写。

(ii)在语句里引用这个表时,服务器会在试图到磁盘上查找这个表之前,把它的名字转换为小写。

这种做法的结果是,不管文件系统是否区分大小写,所有名字都不会区分大小写。如此一来,在系统间移动数据库和表会变得容易。不过,这里提醒一下,如果打算使用这种策略,则必须在开始创建数据库或表之前(而不是之后)通过服务器配置,将 lower_case_table_names 系统变量设置为1。如果在设置此变量之前,已经创建了数据库或表,而且其名字里包含大写字母,那么这个设置将无法产生预期的效果,因为磁盘里已经存储了某些不全为小写字母的名字。为避免出现这个问题,可以先把名字里有大写字母的表全部重新命名为小写字母形式,然后再来设置 lower_case_table_names 系统变量。(可以用 ALTER TABLE 或 RENAME TABLE 语句来重新命名表。)如果有很多表需要重新命名,或者有许多数据库的名字包含大小写字母,那么更简单的办法是选转储这些数据库,然后在设置了 lower_case_table_names 系统变量之后,再重新创建它们。步骤如下:

(1)用 mysqldump 工具将各个数据库转储出来:

% mysqldump --database -p -uroot db_name > db_name.sql

(2)用 DROP DATABASE 语句删除这些数据库。

(3)关闭服务器,配置 my.cnf 文件,添加 'lower_case_table_names=1' 语句,然后重启 mysqld 服务器。

(4)用mysql 程序重新加载所有的转储文件:

% msyql -p -uroot < db_name.sql

由于设置了 lower_case_table_names,所有的数据库和表在重新创建之后在磁盘里的名字将全部为小写。

示例如下:

mysql> CREATE TABLE MyTABle (Name varchar(1), id int not null auto_increment , primary key (id) );

Query OK, 0 rows affected (0.29 sec)

mysql> show tables;

+------------------+

| Tables_in_sampdb |

+------------------+

| absence |

| grade_event |

| member |

| mytable |

| president |

| score |

| student |

+------------------+

7 rows in set (0.00 sec)

mysql> desc mytable;

+-------+------------+------+-----+---------+----------------+

| Field | Type | Null | Key | Default | Extra |

+-------+------------+------+-----+---------+----------------+

| Name | varchar(1) | YES | | NULL | |

| id | int(11) | NO | PRI | NULL | auto_increment |

+-------+------------+------+-----+---------+----------------+

2 rows in set (0.01 sec)

由上可见,使用 CREATE TABLE 命令创建了 MyTABle 表,但MySQL按照默认的 lower_case_table_names 设置,将表名存储为 'mytable'。并且由 'desc mytable' 命令可以看出,lower_case_table_names 并没有影响到 column_name,因为 mytable 表的Name列的列名依然为Name。

mysql数据库系统配置文件_MySQL数据库(6)----配置文件 my.cnf 的使用相关推荐

  1. mysql case默认_MySQL数据库架构和同步复制流程

    在分布式系统里面,往往制约整个系统发展的瓶颈点就是数据库,所以数据库的架构和高可用以及数据库的切分都是我们值得花大力气去学习的. 首先我们来说说数据库的架构. 1.mysql主从架构,如图: 这种架构 ...

  2. mysql数据库5.7配置文件_MySQL 5.7配置文件参考

    本文主要提供基于DBFS之上构建MySQL 5.7数据库的配置文件my.cnf参考. MySQL 5.7配置文件说明: 目录说明,"/mnt/dbfs/v-bp196g0zi82d0pqte ...

  3. centos72安装mysql配置密码_MySQL数据库之170419、Centos7下完美安装并配置mysql5.6

    本文主要向大家介绍了MySQL数据库之170419.Centos7下完美安装并配置mysql5.6 ,通过具体的内容向大家展现,希望对大家学习MySQL数据库有所帮助. linxu环境: centos ...

  4. mysql存中文_mysql数据库存储中文数据的解决办法

    我在学习django中admin模块的时候,登录进入后台操作页面,输入中文数据,但保存之后全是乱码(全是"????????????"),然后就开始了解决问题之路. 1.首先百度搜索 ...

  5. mysql 苏勇_MySQL数据库基础学习笔记(整理自苏勇老师的MySQL基础课程视频)

    一.mysql安装及基本配置 1.安装 Mysql官网:www.mysql.com 开源版本(MySQL Community Server) --安装系统自带版本(如果需要更高版本可到官网下载) # ...

  6. mysql 列名大写_MySQL数据库表名、列名、别名区分大小写的问题

    [size=xx-large]MySQL在Linux下数据库名.表名.列名.别名大小写规则是这样的: 1.数据库名与表名是严格区分大小写的: 2.表的别名是严格区分大小写的: 3.列名与列的别名在所有 ...

  7. mysql断网_mysql数据库断网链接

    {"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],&q ...

  8. mysql 关闭锁_mysql数据库取消锁

    {"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],&q ...

  9. mysql 表上限_mysql 数据库表的上限

    {"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],&q ...

最新文章

  1. 熬夜精心整理的一线大厂大数据、人工智能全套教程下载(含视频+源码)!!...
  2. 计算机生物学杂志,基因组学与应用生物学杂志
  3. Apache提示You don‘t have permission to access / on this server问题解决
  4. TensorRT学习笔记(三)
  5. 数据库阻塞---SQL的隔离级别
  6. windows驱动开发详解学习笔记
  7. 【华为云技术分享】物体检测yolo3算法 学习笔记2
  8. .NET下的开发者们正在继承计算机早期时代伟大的黑客精神
  9. Word 公式编辑器: 快捷键
  10. for linux pdf转mobi_在Linux上,如何为Amazon Kindle转换各种电子书格式
  11. 红外通信模块——详细资料(含遥控器按键对应的码值)
  12. 类似print shopmail可变数据生成,排版、拼版实现
  13. Oracle 日期相减获取年龄
  14. zint编译过程记录
  15. NVIDIA GPU 运算能力列表
  16. 架构师日记——VCL介绍和使用
  17. ajax读取txt出现乱码问题,ajax读取txt文本时乱码的解决方案
  18. MySQL的关键技术及主要特征_生物特征识别十大关键技术解析
  19. 绘制图形与3D增强技巧(三)----三角形图元TRANGLE
  20. 青港风雨之罗雨琦(二)厄运还将继续

热门文章

  1. date时区 es logstash_es-日志存储-Logstash 介绍
  2. django language_Django基础学习-创建第一个Django项目
  3. statistics conjugate
  4. [Javascript]闭包是可以访问上一层函数作用域里变量的函数,即便上一层函数已经关闭
  5. 七十、反转和合并链表、 链表有环的判断
  6. 九十三、Python使用百度云接口API实现截图,文字识别和语音合成
  7. 关于投稿 LaTeX 的使用
  8. 直播预告 | 旷视研究院王毅:用于条件图像生成的注意力归一化
  9. ACL 2020 | 基于机器阅读理解框架的命名实体识别方法
  10. 重磅 | 带学斯坦福CS231n计算机视觉课+带打全球顶级kaggle大赛