【问题标题】:Cannot use MySQL my.cnf file on Ubuntu 16.04 for mysql-5.7无法在 Ubuntu 16.04 上为 mysql-5.7 使用 MySQL my.cnf 文件
【发布时间】:2017-10-30 07:21:00
【问题描述】:

我已经在 Ubuntu 16.04 服务器上安装了 percona-xtradb-cluster-server-5.7,mysql 在默认配置下运行良好。但是,当我尝试编辑 my.cnf 文件时,我收到变量未知的错误,例如:

mysql: [ERROR] unknown variable 'datadir=/var/mysql/mysql'

我试图在服务器上找到不同的 my.cnf 文件,并尝试将变量一个接一个地添加,但似乎遇到了同样的错误。

所以我的问题是,适用于 Ubuntu 16.04 上的 MySQL 5.7 的 my.cnf 文件在哪里?我什至尝试过:/etc/mysql/conf.d/mysql.cnf localtion 并得到以下错误:

[....] Starting mysql (via systemctl): mysql.serviceJob for mysql.service failed because the control process exited with error code. See "systemctl status mysql.service" and "journalctl -xe" for details.
 failed!

以下是与我的 Ubuntu 16.04 服务器上可能的 MySQL 5.7 配置文件相关的信息

ubuntu@db-test-1:~$ sudo find / -name my.cnf
/etc/mysql/my.cnf
/etc/alternatives/my.cnf
/var/lib/dpkg/alternatives/my.cnf
ubuntu@db-test-1:~$
ubuntu@db-test-1:~$ sudo ls -l /etc/mysql/
total 20
drwxr-xr-x 2 root root 4096 Oct 30 15:05 conf.d
-rw-r--r-- 1 root root  237 Oct 30 12:42 debian.cnf
-rw-r--r-- 1 root root  836 Oct 30 14:49 my.cnf
-rw-r--r-- 1 root root  380 Oct 24 01:18 percona-xtradb-cluster.cnf
drwxr-xr-x 2 root root 4096 Oct 30 11:51 percona-xtradb-cluster.conf.d
ubuntu@db-test-1:~$ sudo ls -l /etc/mysql/conf.d/
total 8
-rw-r--r-- 1 root root  8 Oct 30 15:05 mysql.cnf
-rw-r--r-- 1 root root 55 Jan 22  2017 mysqldump.cnf
ubuntu@db-test-1:~$ /usr/sbin/mysqld --verbose --help | grep -A 1 "Default options"^C
ubuntu@db-test-1:~$ sudo su
root@db-test-1:/home/ubuntu# /usr/sbin/mysqld --verbose --help | grep -A 1 "Default options"
Default options are read from the following files in the given order:
/etc/my.cnf /etc/mysql/my.cnf ~/.my.cnf

顺便说一句,debian.cnf 文件没有随版本 5.7 提供,但我添加了它,因为我需要它在刷新日志期间进行日志轮换。

下面是我在 /etc/mysql/conf.d/mysql.cnf 配置文件底部添加的 galera 配置:

server-id = 1010101
# Galera Config
wsrep_cluster_address = gcomm://10.1.0.101, 10.1.0.101
wsrep_cluster_name = db-hr
wsrep_provider = /usr/lib/libgalera_smm.so    
wsrep_provider_options = "gcache.size=4G"
wsrep_slave_threads = 4
wsrep_sst_auth = "user:secret"
wsrep_sst_method = xtrabackup-v2

【问题讨论】:

    标签: mysql ubuntu-16.04 percona


    【解决方案1】:

    my.cnf文件是分段设置的,这个参数应该设置在[mysqld]段下。 该错误表明您可能在 [mysql] 或 [client] 部分中有它。 有一个免费的在线工具可以帮助您正确创建 my.cnf,但您必须注册您的电子邮件才能访问它:https://tools.percona.com/

    这里有一个 Ubuntu 的分步示例,可以帮助您完成这里https://www.percona.com/doc/percona-xtradb-cluster/LATEST/howtos/ubuntu_howto.html

    【讨论】:

    • 你是对的。我不知何故不小心删除了 [mysqld] 末尾的 d 并且只有 [mysql]。现在工作。非常感谢。
    • 所以在添加我的 /etc/mysql/conf.d/mysql.cnf 配置文件的 [mysqld] ot op 之后,everyhting 工作正常。但是当我尝试在文件底部添加 galera 配置以创建集群(PXC)时,mysql 没有读取 galera 信息。因此,当我执行 show variable ... 时,我得到的是默认设置,而不是配置的设置。检查我的 galera 配置的原始帖子:
    • 添加了一个可能有助于澄清的链接
    • 我遇到的问题是没有配置 Galera。我经常这样做没有问题,因为我们在 Ubuntu 14.04 上运行的数十个数据库都使用 PXC。但我们计划升级到 Ubuntu 16.04,并且正在测试使用 Ubuntu 16.04 设置 PXC 环境。并且由于某种原因,节点没有读取 /etc/mysql/conf.d/mysql.cnf 文件中的 galera 配置(仅 galera 部分)。还尝试在 /etc/mysql/conf.d/galera.cnf 下添加 Galera 配置,但仍然面临同样的问题。
    猜你喜欢
    • 2020-07-26
    • 2016-11-24
    • 2018-04-05
    • 2023-04-10
    • 2018-06-09
    • 1970-01-01
    • 2017-01-20
    • 2017-11-13
    • 2016-11-12
    相关资源
    最近更新 更多