标签: my.cnf

确认 my.cnf 文件已加载 OK

有谁知道是否有办法确认 MySQL 是否正在读取 my.cnf 文件?

我在机器上只有一个 my.cnf(并且没有 my.ini 文件),我在 /etc/my.cnf 中有。

当我运行时./mysqld --help --versbose,它没有给我我在文件中设置的变量,所以我假设它没有加载它或者它正在加载一个不同的文件。

我通过将 my.cnf 设置为 777 并再次运行该命令进行了测试,这次我收到一条警告,说该文件不会被加载,因为它是全局可写的。

这是否足以暗示 my.cnf 已被加载,并且其中可能存在错误,导致未设置变量,或者是否有其他方法可以确定加载了什么(如果有)my.cnf 文件?

mysql my.cnf

4
推荐指数
1
解决办法
1万
查看次数

my.cnf 在 Linux 中存储在哪里?

我是 linux 新手,我刚刚在我的 linux 机器上安装了 MySQL-server-5.1.59-1.glibc23.i386.rpm。

我想知道 my.cnf 文件存储在哪里..?my.cnf 是否会在安装时创建?

我正在使用 Fedora 核心 13

编辑:我仍然无法找到这个文件。当我问我的管理员时,他告诉我们需要复制 my-large.cnf 并放在 /etc 文件夹中......是这样......?

mysql my.cnf installation

3
推荐指数
2
解决办法
3万
查看次数

table_cache 命中率有什么问题?

my.cnf我有:

table_cache            = 524288
open_files_limit        = 65535
Run Code Online (Sandbox Code Playgroud)

两者都处于 mysql 配置的最大允许值。两者都小于最大打开文件限制:

# cat /proc/sys/fs/file-max
2097152
Run Code Online (Sandbox Code Playgroud)

MySQL 变量状态:

mysql> SHOW GLOBAL STATUS LIKE 'open%';
+--------------------------+--------+
| Variable_name            | Value  |
+--------------------------+--------+
| Open_files               | 193    |
| Open_streams             | 0      |
| Open_table_definitions   | 594    |
| Open_tables              | 802    |
| Opened_files             | 537248 |
| Opened_table_definitions | 4895   |
| Opened_tables            | 9174   |
+--------------------------+--------+
7 rows in set (0.00 sec)
Run Code Online (Sandbox Code Playgroud)

服务器有 32GB 内存。大部分免费!

尽管如此,当我运行 mysqltuner 脚本时:

它说: …

mysql performance optimization my.cnf cache

3
推荐指数
1
解决办法
2万
查看次数

MATCH AGAINST 一个字符返回空行,ft_min_word_len = 1

我已经设置ft_min_word_len = 1my.cnf文件,也SHOW VARIABLES LIKE 'ft_min_word%'显示ft_min_word_len as 1. 然后我重新加载了所有数据库表,它仍然没有搜索一个字符的单词。

我的表:

CREATE TABLE IF NOT EXISTS event (
id BIGINT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(80) NOT NULL,
description TEXT,
time TIMESTAMP DEFAULT 0,
FULLTEXT(name)
);
Run Code Online (Sandbox Code Playgroud)

我的查询:

SELECT event.id AS eid,
    event.name AS ename
FROM event
WHERE MATCH(event.name) AGAINST('+W*' IN BOOLEAN MODE)
Run Code Online (Sandbox Code Playgroud)

我正在寻找的事件名称是 W.W.W. + Pavel Fajt + Vladimir 518 @ Sono

请问还有什么可能导致问题?

编辑:我正在使用 InnoDB,抱歉我之前没有提到过。

mysql my.cnf pattern-matching environment-variables

3
推荐指数
1
解决办法
3457
查看次数

通过 /etc/cron.daily 中的 shell 脚本的无密码 mysqldump

我知道有很多与此类似的问题,但似乎没有一个对我的问题有明确的答案,所以这就是我发布此内容的原因......我希望在正确的地方。

问题

我有一个脚本,/etc/cron.daily其中执行每日数据库备份等。只要将密码硬编码到mysqldump命令的脚本中,它就可以正常工作。

#!/bin/sh
$ mysqldump -u [uname] -p[pass] db_name > db_backup.sql
Run Code Online (Sandbox Code Playgroud)

但是,不想在脚本中使用密码,我设置了~/.my.cnf文件 (chmod 600),其中存储了我的用户密码,因此mysqldump脚本中的命令将是无密码的。

~/.my.cnf    
[mysqldump]
password="pass"
Run Code Online (Sandbox Code Playgroud)
#!/bin/sh    
$ mysqldump -u [uname] db_name > db_backup.sql
Run Code Online (Sandbox Code Playgroud)

当我以 root 身份从命令行手动运行这个新脚本时,它就像一个魅力。

sudo sh /etc/cron.daily/daily-backup-script
Run Code Online (Sandbox Code Playgroud)

但是当cron想要运行它时,它无法转储数据库,并出现以下错误:

mysqldump: Got error: 1045: Access denied for user 'user'@'localhost' (using password: NO) when trying to connect.
Run Code Online (Sandbox Code Playgroud)

所以,我认为cron没有相应的权限才能执行密码的mysqldymp脚本命令中,用密码放在~/.my.cnf,但是脚本和密码的mysqldump命令它是从完美用命令行工作sudo

迄今为止的努力:

  1. 我已经在脚本sudo中的mysqldump命令前面尝试过。
  2. 我已经在脚本sudo -u …

mysqldump my.cnf scripting password cron

3
推荐指数
1
解决办法
1387
查看次数

16 核 12 GB RAM 服务器 MySql 配置 - my.cnf

即使安装了 memcached 和 APC,服务器也需要 20 多秒(等待时间/缓慢的 IO 响应时间)来响应 HTTP 请求。我相信这与 MYSQL 有关系,因为该站点有很多INSERT查询。

任何帮助将不胜感激。提前致谢。

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
               6.38    0.03    1.05    0.40    0.00   92.14
avg-cpu:  %user   %nice %system %iowait  %steal   %idle
          10.37    0.00    1.61    3.14    0.00   84.87
avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           9.40    0.00    1.41    1.53    0.00   87.67
avg-cpu:  %user   %nice %system %iowait  %steal   %idle
          10.02    0.00    1.42    1.09    0.00   87.46
avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           9.32    0.00    1.31    0.78    0.00   88.59 …
Run Code Online (Sandbox Code Playgroud)

mysql innodb optimization my.cnf

2
推荐指数
1
解决办法
7381
查看次数

64GB 内存的 My.cnf

以下 my.cnf 文件是否适用于具有 64GB RAM 的专用服务器(在 Debian 上)?

我在服务器上只运行一个网站,并且在某些表中插入高负载数据需要几个世纪......似乎数据库无法处理某些表锁定(50Mb 表,不是那么多)。

如果没问题,那么我将逐步分析每个查询。

任何帮助将不胜感激!

[客户]

port            = 3306
socket          = /var/run/mysqld/mysqld.sock

[mysqld]
port            = 3306
socket          = /var/run/mysqld/mysqld.sock

back_log = 50

skip-networking

max_connections = 100

max_connect_errors = 10

table_open_cache = 4096

table-definition-cache = 4096

skip-external-locking

skip-name-resolve

max_allowed_packet = 32M

binlog_cache_size = 2M

max_heap_table_size = 64M

read_buffer_size = 4M

read_rnd_buffer_size = 32M

sort_buffer_size = 16M

join_buffer_size = 8M

thread_cache_size = 20

thread_concurrency = 16

query_cache_type=1

query_cache_size = 1024M

query_cache_limit = 2M

ft_min_word_len = …
Run Code Online (Sandbox Code Playgroud)

mysql my.cnf configuration

2
推荐指数
1
解决办法
3万
查看次数

对于768M RAM服务器在my.cnf中是617M配置好还是不好?

我有一个写入密集型的网络应用程序,我买了一个 768M RAM 的 VDS

  • 这是 my.cnf 适合我的目的吗?

我将 bulk_insert_buffer_size 指定为 126M,其他一些参数如下:

[mysqld]
bulk_insert_buffer_size=126M
set-variable = max_connections=500
safe-show-database
max_user_connections=200
key_buffer_size = 16M
query_cache_size = 50M
tmp_table_size = 50M
max_heap_table_size  = 200M
thread_cache_size = 4
table_cache = 80
thread_concurrency = 8
innodb_buffer_pool_size = 100M
innodb_log_file_size = 25M
query_cache_limit = 50M
innodb_flush_log_at_trx_commit = 2
Run Code Online (Sandbox Code Playgroud)

mysql mysql-5 my.cnf

1
推荐指数
1
解决办法
560
查看次数

对 my.cnf 进行更改并且 mysqld 不会重新启动 - 没有备份

我以为我会很聪明并更新 my.cnf 文件以添加ft_min_word_len=2并且没有先备份它。我永远不会再犯那个错误了。幸运的是,我们的项目仍在生产中,没有造成任何伤害。

我不知道我在那个文件中做错了什么,因为我看不到任何错误日志(/var/log/mysqld.log)。在我接触配置文件之前,MySQL 运行良好 - 好吧,我认为它是。

通过运行以下命令并重新启动 mysqld (service mysqld restart):

mv /etc/my.cnf /etc/my.cnf.backup

我再次启动并运行 - 这证明配置文件以某种方式损坏。一旦我把它放回去并重新启动服务,它就无法再次启动。

这可能没有太大帮助,但这是我的终端屏幕,显示已编辑的 my.cnf 文件:

[mysqld]
local-infile=1
atadir=/var/lib/mysql
ft_min_word_len=2
socket=/var/lib/mysql/mysql.sock
user=mysql
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0 

innodb_buffer_pool_size=2M
innodb_additional_mem_pool_size=500K
innodb_log_buffer_size=500K
innodb_thread_concurrency=2

[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
innodb_buffer_pool_size=2M
innodb_additional_mem_pool_size=500K
innodb_log_buffer_size=500K
innodb_thread_concurrency=2
Run Code Online (Sandbox Code Playgroud)

我看不出这是哪里出了问题。显然,我已尝试删除我添加的行。

我在这里有哪些选择?如何恢复原始配置文件?

mysql my.cnf

1
推荐指数
1
解决办法
1854
查看次数