注意:本指南只适合开发环境,用于开发测试用。生产环境下请慎用
(推荐使用mysql_secure_installation
进行安全安装。)
序言
Ubuntu Server 14.04 之前的版本,MySQL 的配置文件默认不分类。通常情况下,/etc/mysql/my.cnf
文件中会包含 MySQL Server 的全部配置信息。
在Ubuntu Server 16.04 之后,使用 apt 安装的 MySQL Server 会默认对配置文件进行分类。 /etc/mysql/my.cnf
负责声明配置文件的引用目录。
!includedir /etc/mysql/conf.d/
!includedir /etc/mysql/mysql.conf.d/
默认安装后,配置文件保存在以下两个文件夹中。之前在 my.cnf 中指定的配置会按照模块类别分散在各个文件中。
🌰 举个例子:
-
解决 MySQL 中文乱码的问题
之前解决中文乱码,要在 my.cnf 中作如下修改:
[client] default-character-set = utf8 [mysqld] default-storage-engine = INNODB character-set-server = utf8 collation-server = utf8_general_ci
在 Ubuntu Server 16.04 & MySQL 中,使用如下修改:
-
在
/etc/mysql/conf.d
中新建 client.cnf ,键入如下内容:[client] port = 3306 socket = /var/run/mysqld/mysqld.sock default-character-set = utf8
-
在
/etc/mysql/mysql.conf.d/mysqld.cnf
中找到[mysqld]
标签,并在标签下键入如下内容:default-storage-engine = INNODB character-set-server = utf8 collation-server = utf8_general_ci
重启 MySQL,问题解决。
-
-
解决 MySQL 远程访问返回错误码 61 的问题
默认已经建立了允许远程访问的 MySQL 用户,直接给出 16.04 下的解决方案:
-
在
/etc/mysql/mysql.conf.d/mysqld.cnf
中找到[mysqld]
标签,并在标签下键入如下内容:skip-name-resolve
同时注释掉或删除掉该标签下的
bind-address = 127.0.0.1
属性。重启 MySQL,问题解决。
-
** 在解决上述问题时,请在完成每一步之后重启 MySQL 验证,一气完成全部修改可能会造成 MySQL 无法启动。**