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

root@javis:~$ mysqld --help --verbose | grep -B1 -i "my.cnf"
-- :: [Note] mysqld (mysqld 5.6.) starting as process ...
-- :: [Note] Plugin 'FEDERATED' is disabled.
Default options are read from the following files in 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 to default to,
my.cnf, $MYSQL_TCP_PORT, /etc/services, built-in default
-- :: [Note] Binlog end
-- :: [Note] Shutting down plugin 'MyISAM'
-- :: [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数据库(6)----配置文件 my.cnf 的使用的更多相关文章

  1. mysql linux查看配置文件my.cnf位置

    原文:mysql linux查看配置文件my.cnf位置 命令: mysql --help | grep 'Default options' -A 1

  2. MySQL数据库中配置文件 read_only 参数的有关说明

    1.对于MySQL单实例数据库和master库,如果需要设置为只读状态,需要进行如下操作和设置: 将MySQL设置为只读状态的命令(可以登录mysql执行下面命令, 或者在my.cnf配置文件中添加& ...

  3. Java链接MySQL数据库的配置文件

    文件名:db.properties(随便) driver = com.mysql.jdbc.Driver  //MySQL数据库驱动名url = jdbc:mysql://localhost:3306 ...

  4. Mysql数据库服务器配置文件/etc/my.cnf的详细配置

    以下是 Mysql数 据库服务器配置文件 /etc/my.cnf的详细配置.应用场合是 InnoDB引擎, 4核 CPU, 32位SUSE.   [client] port        = 3306 ...

  5. 如果不知道MySQL当前使用配置文件(my.cnf)的路径的解决方法

    如果不知道当前使用的配置文件的路径,可以尝试下面的操作: # which mysqld /usr/local/mysql/bin/mysqld # /usr/local/mysql/bin/mysql ...

  6. Linux下MySql的配置文件my.cnf详细 讲解

    经常在使用MySql,但是对于MySql下面的各种参数的配置并不是很熟悉,经常在需要改变某项参数的时候,还要到处在网上查找,有点不方便.今天想把MySql下面的配置文件my.cnf详细的做一个说明(L ...

  7. 详解MySql的配置文件my.cnf

    1.Windows下MySQL的配置文件是my.ini,一般会在安装目录的根目录. 2.Linux下MySQL的配置文件是my.cnf,一般会放在/etc/my.cnf,/etc/mysql/my.c ...

  8. shell脚本连接、读写、操作mysql数据库实例

    本文介绍了如何在shell中读写mysql数据库.主要介绍了如何在shell 中连接mysql数据库,如何在shell中创建数据库,创建表,插入csv文件,读取mysql数据库,导出mysql数据库为 ...

  9. shell中读写mysql数据库

    本文介绍了如何在shell中读写mysql数据库.主要介绍了如何在shell 中连接mysql数据库,如何在shell中创建数据库,创建表,插入csv文件,读取mysql数据库,导出mysql数据库为 ...

随机推荐

  1. 汉诺塔的python 动画演示

    1.简介 古代有一座汉诺塔,塔内有3个座A.B.C,A座上有n个盘子,盘子大小不等,大的在下,小的在上,如图所示.有一个和尚想把这n个盘子从A座移到C座,但每次只能移动一个盘子,并且自移动过程中,3个 ...

  2. SecureCRTPortable的安装和使用(图文详解)

    不多说,直接上干货! 玩玩这个远程连接软件,是个绿色软件. 别人已经做好了的. 解压之后, 下面,软件展示下, 这会默认去打开, 为了,方便,使用,放到桌面,作为快捷方式 成功 欢迎大家,加入我的微信 ...

  3. Could not find a version that satisfies.... No matching distribution found for .....

    原文作者:aircraft 原文链接:https://www.cnblogs.com/DOMLX/p/10227403.html 今天在安装mysql-python的时候报了很多的错误,其中一条就是这 ...

  4. 【c++】类中的const成员

    const成员变量 举个例子 #include <iostream> using namespace std; class A { public: A(int size) : SIZE(s ...

  5. [PY3]——pwd | grp 模块

    pwd和grp模块都非常简单粗暴,各自分别下面都只有三个函数,来根据/etc/passwd./etc/group文件获取相关信息 getpwuid(UID):根据UID获取用户信息,返回一个list ...

  6. IOS runtime动态运行时一

    对运行时不太了解,今天小伙伴橄榄油陈高给发了个链接 ,看了一部分先存着以后慢慢品 http://www.cocoachina.com/ios/20141018/9960.html http://blo ...

  7. Delphi 枚举所有进程

    通过进程快照枚举所有进程,关于进程快照,在Delphi5开发人员指南中有说明,当然也可以百度一下用法. 使用进程快照CreateToolhelp32Snapshot,必须uses TlHelp32单元 ...

  8. Python——爬虫学习1

    爬虫了解一下 网络爬虫(Web crawler),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本. Python的安装 本篇教程采用Python3 来写,所以你需要给你的电脑装上Python ...

  9. SVN使用指南

    一:SVN服务器搭建和使用. 1.     首先来下载和搭建SVN服务器,下载地址如下: http://subversion.apache.org/packages.html,进入网址后,滚动到浏览器 ...

  10. IIS利用X-Forwarded-For获得来访者的真实IP

    https://help.aliyun.com/knowledge_detail/37948.html