Где является моим входом в систему mysql OS X?

Просто создайте новый vmdk файл необходимого размера и скопируйте файлы в него от старого vmdk. Можно использовать любую из утилит создания образа диска, любят, когда Снимок (www.drivesnapshot.de) делает копию легче, поскольку они скопируют загрузочные секторы, ACLs и т.д., но Вы могли на самом деле просто скопировать файлы. Существует утилита VMWare, которая смонтирует vmdk, таким образом, хост будет видеть его как букву диска, или можно загрузить VM BartPE CD.

МЛАДШИЙ

75
задан 19 July 2009 в 08:44
8 ответов

Как упомянутый Chealion, существует несколько способов, которыми, возможно, был установлен Ваш mysql. Каждый из которых поместит Ваш dir данных и/или входит в систему различные местоположения. Следующая команда даст Вам (и нас) хороший признак того, где посмотреть.

ps auxww|grep [m]ysqld

# Putting brackets around the first char is a `grep`+`ps` trick
# to keep it from matching its own process.
# Note: For zsh compatibility put quotes around the grep regex

Можно ли отправить результат той команды здесь? Мой похож на это:

_mysql     101   0.0  0.3   112104  13268   ??  S    12:30AM   0:13.20 /opt/local/libexec/mysqld --basedir=/opt/local --datadir=/opt/local/var/db/mysql --user=mysql --pid-file=/opt/local/var/db/mysql/rbronosky-mbp.pid
root        76   0.0  0.0   600172    688   ??  S    12:30AM   0:00.02 /bin/sh /opt/local/lib/mysql/bin/mysqld_safe --datadir=/opt/local/var/db/mysql --pid-file=/opt/local/var/db/mysql/rbronosky-mbp.pid

От этого Вы видите, что мой datadir /opt/local/var/db/mysql (потому что я установил через MacPorts). Давайте возьмем этот урок немного далее...

От первой строки Вы видите, что мой демон /opt/local/libexec/mysqld. mysqld с можно назвать --verbose --help получить список всех параметров командной строки (и вот важная/ценная часть!) сопровождаемый значениями, которые использовались бы, если бы Вы запускали mysqld вместо того, чтобы просто проверить вывод справки. Значения являются результатом Вашей конфигурации времени компиляции, my.cnf файл и любые параметры командной строки. Я могу использовать эту функцию для обнаружения ТОЧНО, где мои файлы журнала, как так:

/opt/local/libexec/mysqld --verbose --help|grep '^log'

Мой похож на это:

log                               /tmp/mysql.log
log-bin                           /tmp/mysql-bin
log-bin-index                     (No default value)
log-bin-trust-function-creators   FALSE
log-bin-trust-routine-creators    FALSE
log-error                         /tmp/mysql.error.log
log-isam                          myisam.log
log-queries-not-using-indexes     FALSE
log-short-format                  FALSE
log-slave-updates                 FALSE
log-slow-admin-statements         FALSE
log-slow-queries                  (No default value)
log-tc                            tc.log
log-tc-size                       24576
log-update                        (No default value)
log-warnings                      1

О ЧУДО! весь совет в мире не собирался помогать мне, потому что мой файл журнала сохранен в абсолютно нестандартном месте! Я удерживаю мой /tmp/ потому что на моем ноутбуке, я не забочусь (на самом деле, я предпочитаю) освобождать всю мою перезагрузку входа в систему.

Давайте соединим все это и сделаем Вас остротой:

$(ps auxww|sed -n '/sed -n/d;/mysqld /{s/.* \([^ ]*mysqld\) .*/\1/;p;}') --verbose --help|grep '^log'

Выполните ту одну команду, и Вы получите список всех журналов для Вашего рабочего экземпляра mysql.

Приятного отдыха!

Этот Bash-Fu, принесенный Вам бесплатно моей приверженностью всем вещам Открытый исходный код.

95
ответ дан 28 November 2019 в 19:27

По умолчанию все файлы журнала создаются в mysqld каталоге данных.

Источник: MySQL Documentation

Можно использовать mysqlbinlog считать двоичные файлы журнала в/usr/local/mysql/data/(в моей установке не все были двоичными). Некоторые ошибки просто направлены к stderr, таким образом, можно хотеть проверить /var/log/system.log также.

3
ответ дан 28 November 2019 в 19:27
  • 1
    я don' t имеют каталог данных в mysql dir, я посмотрел на всем протяжении/usr/local/mysql/каталога и can' t находят журнал. нет никакого способа просмотреть mysql конфигурацию? как phpinfo () –  Tony 19 July 2009 в 23:40
  • 2
    Как Вы устанавливали MySQL? Предварительно установленный MySQL с Сервером Mac OS X, MacPorts или официальным пакетом MySQL? –  Chealion 20 July 2009 в 02:29

Папка, содержащая тот журнал, не может быть доступна для Вас без использования sudo:

sudo ls -l "/usr/local/mysql-5.0.51a-osx10.5-x86"
[..]
drwxr-x---   4 _mysql  wheel    136 Jul 10 23:06 data

Если Вы, оказывается, находите большой файл журнала и когда Вы используете Машину времени, можно ли хотеть считать то, Что делает Машина времени? на Отказе сервера.

0
ответ дан 28 November 2019 в 19:27

/Library/Logs/MySQL.log

-2
ответ дан 28 November 2019 в 19:27
  • 1
    я вижу другие журналы там, но не mysql –  Tony 19 July 2009 в 23:41
  • 2
    Какая версия Сервера Mac OS X - это? В целом, you' ll хотят посмотреть в/var/log/&/Library/Logs/под Сервером Mac OS X. Более характерный для этой проблемы, смотрите /var/log/system.log, может быть что-то вроде использования в/var/mysql (как .err файлы журнала), но я (на Leopard Server' s конфигурация по умолчанию), также имеют вышеупомянутый /Library/Logs/MySQL.log. Вы пытаетесь соединиться через сокет или сетевое соединение? Если последний, сделал Вас " Включите сеть connections" в Администраторе Сервера (на Leopard; У Тигра это было отдельное приложение в/Applications/Utilities)? –  morgant 20 July 2009 в 19:37

Я потратил некоторое время на то, чтобы найти это ... попробуйте это местоположение: '

sudo vi /usr/local/mysql/data/YOUR-USERNAME.local.err
6
ответ дан 28 November 2019 в 19:27

Другой способ найти эту информацию - использовать lsof .

  1. Используйте Activity Monitor, чтобы найти PID mysql , или используйте ] ps -ef | grep mysqld , чтобы найти его.

  2. sudo lsof -p PID_OF_MYSQLD и посмотрите, какие файлы открыты MySQL.

10
ответ дан 28 November 2019 в 19:27

Существует 3 типа журналов MySQL/MariaDB:

  • log_error для журнала сообщений об ошибках;
  • general_log_file для файла журнала общих запросов (если включена командой general_log);
  • slow_query_log_file для файла журнала медленных запросов (если включена командой slow_query_log);

Проверка настроек и расположения вышеуказанных журналов с помощью этой команды оболочки:

mysql -se "SHOW VARIABLES" | grep -e log_error -e general_log -e slow_query_log

По умолчанию журналы хранятся в вашем каталоге данных, поэтому проверьте расположение с помощью этой команды командной строки:

mysql -se "SELECT @@datadir"

Для просмотра журнала ошибок можно запустить:

sudo tail -f $(mysql -Nse "SELECT @@log_error")

Если у вас включен общий журнал, то для его просмотра запустите:

sudo tail -f $(mysql -Nse "SELECT CONCAT(@@datadir, @@general_log_file)")
13
ответ дан 28 November 2019 в 19:27

По умолчанию все файлы журналов создаются в каталоге данных mysqld. К сожалению, многие люди не размещают свои файлы журналов (и программы) в обычных местах. Я один из них!

Я сам прошел через эту процедуру с MySQL, пока не попробовал Navicat для MySQL . Позже я обновился до Navicat Premium .У обоих есть инструмент мониторинга, который содержит вкладку со всеми переменными сервера в одном исчерпывающем списке. Вот снимок экрана с переменной сервера log_error:

Переменная сервера log_error в Navicat Server Monitoring Tool

log_error server variable in Navicat Server Monitoring Tool

Вы также можете установить переменные прямо здесь, в списке.

Ура!

0
ответ дан 28 November 2019 в 19:27

Теги

Похожие вопросы