Как включить логирование в виндовском мускуле?

registerers

Windows Server 2003MySQL 5.0.51bСодержимое my.ini:...#Enter a name for the binary log. Otherwise a default name will be used.log-bin=C:/MySQL_Logs/bin.log#Enter a name for the query log file. Otherwise a default name will be used.log=C:/MySQL_Logs/query.log#Enter a name for the error log file. Otherwise a default name will be used.log-error=C:/MySQL_Logs/err.log#Enter a name for the slow query log. Otherwise a default name will be used.log-slow-queries=C:/MySQL_Logs/slow.log#Enter a name for the update log file. Otherwise a default name will be used.log-update=C:/MySQL_Logs/update.log#Enter a name for the isam logfile. Otherwise a default name will be used.log-isam=C:/MySQL_Logs/isam.log#Binary log will be rotated automatically when the size exceeds this value. Will also apply to relay logs if max_relay_log_size is 0. The minimum value for this variable is 4096.max_binlog_size=1024M#Log queries that are executed without benefit of any index.log-queries-not-using-indexesи тем не менее show variables; показывает:
| log | OFF || log_bin | OFF || log_bin_trust_function_creators | OFF || log_error | C:\Program Files\MySQL\MySQL Server 5.0\Data\dl.err || log_queries_not_using_indexes | OFF || log_slave_updates | OFF || log_slow_queries | OFF
17 ответов

registerers

0. САМОЕ ГЛАВНОЕ - ПокажИте в каком разделе (в какой секции [...]) my.ini вы указываете данные переменные ???

1. НЕОБХОДИМО в секции [mysqld] просто указать 
 log-bin ( без определения имени "log-bin = ... " ) 
 - логи БУДУТ НАХОДИТЬСЯ в %MySqlBaseDir% с именем хоста-компьютера-bin - MyComp-bin.000001, ... 
 (как и binlog-index - MyComp.index)

2. если log-bin = C:<span>/</span>MySQL_Logs<span>/</span>bin (уберите расширение, все равно оно обрубится, это "бинарный" лог, а не просто "почитать", 
сервер будет сам дописывать bin.000001 ... bin.000043 ...) 
логи БУДУТ НАХОДИТЬСЯ в C:\MySQL_Logs\ ( на всякий случай поверните слэши <span>/</span> на обратные\) 
с именем bin.000001 ... bin 000012 ... и т.д. и т.п. ()
3. утилита mysqlbinlog - вот чем можно "посмотреть" bin-логи
4. Все-таки см. п.1 и пробуйте просто без путей к файлу - log-bin = MyBINLOG-trtrtr, рестарт сервера-службы 
 и вы увидите в MySqlBaseDir новые файлы - MyBINLOG-trtrtr.0000ХХ
Не хочется устанавливать сейчас старую версию MySQL, но смотрю на архив какой-то базы-5.0 -- log-bin отрабатывался Все-таки интересует ответ на пункт 0.


registerers

погорячился насчет слэшей ...C:\MySQL_Logs\ ( на всякий случай поверните слэши / на обратные двойные \\) дело конечно не в них, сервер бы просто не запустился.


registerers

В секции сервера - [mysqld]Дело в том что использовал граф. утилиту MySQL Administrator, а он сам знает куда писать и что писать.


registerers

скажу сразу, что интересует ведение ни сколько бинарного, сколько общего (general) лога запросов, но почему то все - OFF


registerers

ну неужели никто мне не поможет?


registerers

ну неужели никто мне не поможет?
последний раз когда я давал ссылки на ребят которые всем помогают по 500$/час, меня забанить грозились.
Дело в том что использовал граф. утилиту MySQL Administrator, а он сам знает куда писать и что писать.
ну значит не знает.


registerers

ну неужели никто мне не поможет?
Просто вариантов очень много.Например, вы уверены, что MySQL использует именно этот экземпляр файла my.ini ?


registerers

вы уверены, что MySQL использует именно этот экземпляр файла my.ini ?
конечно уверен!
mysql> show variables like '%basedir%';+---------------+------------------------------------------+| Variable_name | Value |+---------------+------------------------------------------+| basedir | C:\Program Files\MySQL\MySQL Server 5.0\ |+---------------+------------------------------------------+
здесь только один my.ini


registerers

ну выложите весь файл как он есть куда-нибудьлично у меня осталось закомментированное в 5.1
#Enter a name for the query log file. Otherwise a default name will be used.
#log=c:/mysql.log
#general_log=c:/mysql.log
и я помню, что это работало.


registerers

Порядок поиска my.ini несколько другой:Using Option Files
On Windows, MySQL programs read startup options from the following files, in the specified order (top items are used first).<blockquote>File Name


registerers

ну выложите весь файл как он есть куда-нибудь
Да прям здесь, только в спойлере.


registerers

всегда пожалуйста, my.ini:
<pre class="prettyprint linenums"># MySQL Server Instance Configuration File# ----------------------------------------------------------------------# Generated by the MySQL Server Instance Configuration Wizard### Installation Instructions# ----------------------------------------------------------------------## On Linux you can copy this file to /etc/my.cnf to set global options,# mysql-data-dir/my.cnf to set server-specific options# (@localstatedir@ for this installation) or to# ~/.my.cnf to set user-specific options.## On Windows you should keep this file in the installation directory # of your server (e.g. C:\Program Files\MySQL\MySQL Server X.Y). To# make sure the server reads the config file use the startup option # "--defaults-file". ## To run run the server from the command line, execute this in a # command line shell, e.g.# mysqld --defaults-file="C:\Program Files\MySQL\MySQL Server X.Y\my.ini"## To install the server as a Windows service manually, execute this in a # command line shell, e.g.# mysqld --install MySQLXY --defaults-file="C:\Program Files\MySQL\MySQL Server X.Y\my.ini"## And then execute this in a command line shell to start the server, e.g.# net start MySQLXY### Guildlines for editing this file# ----------------------------------------------------------------------## In this file, you can use all long options that the program supports.# If you want to know the options a program supports, start the program# with the "--help" option.## More detailed information about the individual options can also be# found in the manual.### CLIENT SECTION# ----------------------------------------------------------------------## The following options will be read by MySQL client applications.# Note that only client applications shipped by MySQL are guaranteed# to read this section. If you want your own MySQL client program to# honor these values, you need to specify it as an option during the# MySQL client library initialization.#[client]port=3306[mysql]default-character-set=latin1# SERVER SECTION# ----------------------------------------------------------------------## The following options will be read by the MySQL Server. Make sure that# you have installed the server correctly (see above) so it reads this # file.#[mysqld]# The TCP/IP Port the MySQL Server will listen onport=3306#Path to installation directory. All paths are usually resolved relative to this.basedir="C:/Program Files/MySQL/MySQL Server 5.0/"#Path to the database rootdatadir="C:/Program Files/MySQL/MySQL Server 5.0/Data/"# The default character set that will be used when a new schema or table is# created and no character set is defineddefault-character-set=utf8# The default storage engine that will be used when create new tables whendefault-storage-engine=INNODB# Set the SQL mode to strictsql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"# The maximum amount of concurrent sessions the MySQL server will# allow. One of these connections will be reserved for a user with# SUPER privileges to allow the administrator to login even if the# connection limit has been reached.max_connections=500# Query cache is used to cache SELECT results and later return them# without actual executing the same query once again. Having the query# cache enabled may result in significant speed improvements, if your# have a lot of identical queries and rarely changing tables. See the# "Qcache_lowmem_prunes" status variable to check if the current value# is high enough for your load.# Note: In case your tables change very often or if your queries are# textually different every time, the query cache may result in a# slowdown instead of a performance improvement.query_cache_size=0# The number of open tables for all threads. Increasing this value# increases the number of file descriptors that mysqld requires.# Therefore you have to make sure to set the amount of open files# allowed to at least 4096 in the variable "open-files-limit" in# section [mysqld_safe]table_cache=256# Maximum size for internal (in-memory) temporary tables. If a table# grows larger than this value, it is automatically converted to disk# based table This limitation is for a single table. There can be many# of them.tmp_table_size=18M# How many threads we should keep in a cache for reuse. When a client# disconnects, the client's threads are put in the cache if there aren't# more than thread_cache_size threads from before. This greatly reduces# the amount of thread creations needed if you have a lot of new# connections. (Normally this doesn't give a notable performance# improvement if you have a good thread implementation.)thread_cache_size=8#*** MyISAM Specific options# The maximum size of the temporary file MySQL is allowed to use while# recreating the index (during REPAIR, ALTER TABLE or LOAD DATA INFILE.# If the file-size would be bigger than this, the index will be created# through the key cache (which is slower).myisam_max_sort_file_size=100G# If the temporary file used for fast index creation would be bigger# than using the key cache by the amount specified here, then prefer the# key cache method. This is mainly used to force long character keys in# large tables to use the slower key cache method to create the index.myisam_max_extra_sort_file_size=100G# If the temporary file used for fast index creation would be bigger# than using the key cache by the amount specified here, then prefer the# key cache method. This is mainly used to force long character keys in# large tables to use the slower key cache method to create the index.myisam_sort_buffer_size=35M# Size of the Key Buffer, used to cache index blocks for MyISAM tables.# Do not set it larger than 30% of your available memory, as some memory# is also required by the OS to cache rows. Even if you're not using# MyISAM tables, you should still set it to 8-64M as it will also be# used for internal temporary disk tables.key_buffer_size=25M# Size of the buffer used for doing full table scans of MyISAM tables.# Allocated per thread, if a full scan is needed.read_buffer_size=64Kread_rnd_buffer_size=256K# This buffer is allocated when MySQL needs to rebuild the index in# REPAIR, OPTIMZE, ALTER table statements as well as in LOAD DATA INFILE# into an empty table. It is allocated per thread so be careful with# large settings.sort_buffer_size=256K#*** INNODB Specific options ***# Use this option if you have a MySQL server with InnoDB support enabled# but you do not plan to use it. This will save memory and disk space# and speed up some things.#skip-innodb# Additional memory pool that is used by InnoDB to store metadata# information. If InnoDB requires more memory for this purpose it will# start to allocate it from the OS. As this is fast enough on most# recent operating systems, you normally do not need to change this# value. SHOW INNODB STATUS will display the current amount used.innodb_additional_mem_pool_size=2M# If set to 1, InnoDB will flush (fsync) the transaction logs to the# disk at each commit, which offers full ACID behavior. If you are# willing to compromise this safety, and you are running small# transactions, you may set this to 0 or 2 to reduce disk I/O to the# logs. Value 0 means that the log is only written to the log file and# the log file flushed to disk approximately once per second. Value 2# means the log is written to the log file at each commit, but the log# file is only flushed to disk approximately once per second.innodb_flush_log_at_trx_commit=1# The size of the buffer InnoDB uses for buffering log data. As soon as# it is full, InnoDB will have to flush it to disk. As it is flushed# once per second anyway, it does not make sense to have it very large# (even with long transactions).innodb_log_buffer_size=1M# InnoDB, unlike MyISAM, uses a buffer pool to cache both indexes and# row data. The bigger you set this the less disk I/O is needed to# access data in tables. On a dedicated database server you may set this# parameter up to 80% of the machine physical memory size. Do not set it# too large, though, because competition of the physical memory may# cause paging in the operating system. Note that on 32bit systems you# might be limited to 2-3.5G of user level memory per process, so do not# set it too high.innodb_buffer_pool_size=47M# Size of each log file in a log group. You should set the combined size# of log files to about 25%-100% of your buffer pool size to avoid# unneeded buffer pool flush activity on log file overwrite. However,# note that a larger logfile size will increase the time needed for the# recovery process.innodb_log_file_size=24M# Number of threads allowed inside the InnoDB kernel. The optimal value# depends highly on the application, hardware as well as the OS# scheduler properties. A too high value may lead to thread thrashing.innodb_thread_concurrency=8#The number of seconds the mysqld server is waiting for a connect packet before responding with 'Bad handshake'connect_timeout=120#The number of seconds the server waits for activity on an interactive connection before closing it.interactive_timeout=7200#Allow connections via named pipes (Windows NT+ only). Note: you can specify a pipe name on the advanced network page, if required.enable-named-pipe#Enter a name for the binary log. Otherwise a default name will be used.log-bin=C:/Program Files/MySQL/MySQL Server 5.0/logs/dl/bin.log#Enter a name for the query log file. Otherwise a default name will be used.log=C:/Program Files/MySQL/MySQL Server 5.0/logs/dl/query.log#Enter a name for the error log file. Otherwise a default name will be used.log-error=C:/Program Files/MySQL/MySQL Server 5.0/logs/dl/err.log#Enter a name for the slow query log. Otherwise a default name will be used.log-slow-queries=C:/Program Files/MySQL/MySQL Server 5.0/logs/dl/slow.log#Enter a name for the update log file. Otherwise a default name will be used.log-update=C:/Program Files/MySQL/MySQL Server 5.0/logs/dl/update.log#Enter a name for the isam logfile. Otherwise a default name will be used.log-isam=C:/Program Files/MySQL/MySQL Server 5.0/logs/dl/isam.log#Binary log will be rotated automatically when the size exceeds this value. Will also apply to relay logs if max_relay_log_size is 0. The minimum value for this variable is 4096.max_binlog_size=1024M#Log queries that are executed without benefit of any index.log-queries-not-using-indexes</pre>


registerers

<pre class="prettyprint linenums">basedir="C:/Program Files/MySQL/MySQL Server 5.0/"...log=C:/Program Files/MySQL/MySQL Server 5.0/logs/dl/query.log</pre>
Тут с кавычками, тут без кавычек... Неужели не бросается в глаза?


registerers

Да и в "C:\Program Files\MySQL\MySQL Server 5.0\Data\dl.err" наверняка какие-то следы остались.


registerers

кавычки ничего не решают, я конечно не знаю как работает парсер файла my.ini, но как мне кажется логично было бы ему рассматривать строку от символа "=" до символов "\r\n", удаляя пробельные символы вначале и вконцевопрос остается открытым - как установить переменные log% в значение ON?


registerers

попробуйте выполнитьFLUSH LOGSи смотрите какие ошибки вылезут в dl.err


registerers

создался пустой .err-файл