Ответ 1
Если вы делаете
SHOW VARIABLES LIKE '%log_file%';
он точно покажет, где они записываются.
Я использую PHP для доступа к MySQL в XAMPP. Мой вопрос в том, где я могу найти файл журнала MySQL, если есть ошибка БД.
Кроме того, могу ли я изменить местоположение/имя по умолчанию для этого файла журнала?
Спасибо
/////Основываясь на коментах //////
mysql> show variables like '%log_file%';
+---------------------------+------------------------------------+
| Variable_name | Value |
+---------------------------+------------------------------------+
| general_log_file | C:/xampp/mysql/data/mysql.log |
| innodb_log_file_size | 5242880 |
| innodb_log_files_in_group | 2 |
| slow_query_log_file | C:/xampp/mysql/data/mysql-slow.log |
+---------------------------+------------------------------------+
4 rows in set (0.00 sec)
Если вы делаете
SHOW VARIABLES LIKE '%log_file%';
он точно покажет, где они записываются.
Принятый ответ немного стар, для MySQL 5.1+
вы можете использовать запросы:
SET GLOBAL general_log = 'ON';
SET GLOBAL general_log_file = 'my_log.log';
Сначала включит логирование (которое может быть отключено по умолчанию)
и второй выбор обновляет предпочтительный файл (по умолчанию в C:/xampp/mysql/data/).
ПРИМЕЧАНИЕ. В Windows 8 вам, возможно, придется запустить SQL IDE как ADMINISTRATOR, чтобы эти команды могли быть сохранены.
ПРИМЕЧАНИЕ2: вы также можете установить это в конфигурации, перейдите к path_to_xampp/mysql/
и отредактируйте my.ini
(скопируйте с my-default.ini, если он не существует) и добавьте там настройки:
[mysqld]
general_log = 'ON';
general_log_file = 'my_log.log';
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
Это файл *.err.
Вы найдете его здесь: C:\xampp\mysql\datap >
Чтобы правильно отслеживать ошибку, откройте ее с помощью Notepad ++, например, и запустите Mysql. Вы должны увидеть ошибку в конце файла.
Вы также можете попробовать посмотреть localhost/phpmyadmin/и щелкнуть вкладку "Переменные".