MySQL или MariaDB — это один из самых популярных движков баз данных, который используется для обеспечения работы большинства веб-сайтов в интернете, а также множества других проектов.
Иногда случается, что из-за после изменения настроек или по какой-либо другой причине mysql не запускается. Это довольно серьезная проблема, особенно, когда такая ситуация случается на сервере публичного проекта. В этой статье мы рассмотрим основные причины почему может возникать такая проблема, а также пути решения. В качестве примера будет использоваться Mariadb и Ubuntu.
Если вы используете systemd для запуска сервисов, то получите такую ошибку:
failed to start mysql server или job for mysql failed because the control proccess exited
Из сообщения понято только то что что-то пошло не так, но что именно неизвестно. Чаще всего проблемы в работе MySQL могут вызвать такие причины:
- Синтаксические ошибки в конфигурационном файле;
- Неверные настройки;
- Недостаточное количество оперативной памяти на сервере;
- Проблемы с правами доступа;
- Сетевой порт уже занят;
- Таблицы баз данных повреждены;
Дальше мы рассмотрим основные пути решения этих проблем. Но сначала нам нужно выяснить почему не запускается программа. Гадать на кофейной гуще и перебирать все возможные методы решения можно очень долго, самым эффективным решением будет посмотреть какие ошибки выдает сама программа.
Что делать если не запускается MySQL?
Первым делом, если вы меняли настройки в конфигурационном файле надо проверить его на ошибки. Встроенной утилиты для таких целей нет, но можно запустить mysql daemon с опцией —help:
/usr/sbin/mysqld --help --verbose
В начале вывода будут представлены обнаруженные в основном конфигурационном файле ошибки. Например, здесь я специально добавил несуществующую переменную. Вам остается только исправить ошибки и перезапустить mysql:
systemctl restart mariadb
Если же это не сработало и вы все еще получаете ошибку, посмотрите лог загрузки systemd для этого сервиса:
systemctl status -l mariadb
Иногда здесь тоже можно найти полезную информацию, но в данном случае ничего нет. Следующий шаг — просмотр лога mysql. Если лог еще не включен, включаем его добавив такую строчку в /etc/mysql/my.cnf в секцию [mysqld]:
sudo vi /etc/mysql/my.cnf
[mysqld]
log-error=/var/log/mysql/error.log
Затем снова пытаемся запустить сервис и смотрим на появившиеся в логе ошибки:
tail -f /var/log/mysql/error.log
Здесь вы увидите ошибки, которые мешают запустить mysql. Здесь надо искать слова: Fail, Error, Warning, Aborted и так далее. Вам остается только их исправить. Исправить проблемы с синтаксисом, убрать опции, которые потребляют слишком много памяти и исправить другие проблемы. А теперь рассмотрим несколько распространенных проблем.
1. Изменение размера буфера innodb
Если вы измените значение директивы innodb_buffer_pool_size в большую или меньшую сторону пока сервис работает, то перезапустить вы его уже не сможете. Перед тем как менять значение директивы остановите mysql:
sudo systemctl stop mariadb
Затем удалите старые логи innodb или просто их переименуйте:
sudo mv /var/lib/mysql/ib_logfile0{,bak}
sudo mv /var/lib/mysql/ib_logfile1{,bak}
И только после этого можете снова запускать сервис, он запустится с новыми настройками размера буфера. Только будьте аккуратны с выбором размера. При слишком большом размере может не хватить памяти для запуска, так как весь буфер хранится в ОЗУ.
sudo systemctl start mariadb
2. Ошибка Permission denied
MySQL хранит файлы базы данных на диске. У движка базы данных должен быть полный доступ к папке, в которой хранятся эти файлы. По умолчанию в Ubuntu это /var/lib/mysql/. Все файлы в этой папке должны принадлежать пользователю mysql:
ls -l /var/lib/mysql/
Если это не так, исправляем командой:
sudo chown -R mysql:mysql /var/lib/mysql/
3. Ошибка Address already in use
MySQL может использовать файловый сокет Linux или же сетевой сокет, тогда база данных будет доступна другим программам на порту 3306. Если сейчас уже запущен другой процесс mysql или какой-либо другой процесс занимает этот порт вы получите ошибку Address already in use. Чтобы ее решить смотрим какой процесс использует порт:
sudo ss -lptn 'sport = :3306'
Например, здесь мы видим, что запущен другой экземпляр mysql с PID 11240. Вы можете его завершить с помощью kill:
sudo kill -TERM 11240
Теперь база данных запуститься.
4. Ошибка corrupt database page Mysql
Если mysql завершился некорректно из-за недостатка памяти или других проблем, например, проблем с файловой системой, то таблицы innodb могут быть повреждены — corrupt database page. Это происходит не так часто. При такой проблеме вы увидите такую запись в логе:
Проблема серьезная, но решаемая. В самом сообщении об ошибке система рекомендует сделать резервную копию таблиц, удалить их и создать заново из резервной копии. Но для этого должна быть запущена база данных, а она не запускается.
Нам необходимо запустить mysql в режиме восстановления, в котором все повреждения таблиц будут игнорироваться. Для этого добавляем в конфигурационный файл /etc/mariadb/my.cnf строку:
sudo vi /etc/mariadb/my.cnf
innodb_force_recovery=1
Затем запускаем mysql:
systemctl start mariadb
Ошибок не будет и сервис запуститься. Нам остается только исправить таблицы. Для этого можно воспользоваться инструментом mysqlcheck:
mysqlcheck -u root --auto-repair --all-databases
Готово. Теперь возвращаемся в конфигурационный файл и комментируем или удаляем строку innodb_force_recovery.
После этого можно перезапустить mysql и сервис будет работать в обычном режиме:
sudo systemctl restart mariadb
Выводы
В этой статье мы рассмотрели основные причины почему не запускается mysql сервер. Теперь вы сможете очень быстро с ними справиться, если столкнетесь в своей работе. А с какими еще проблемами кроме этих сталкивались вы? Какие были пути решения? Давайте дополним статью вместе, пишите в комментариях!
Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.
Статья распространяется под лицензией Creative Commons ShareAlike 4.0 при копировании материала ссылка на источник обязательна .
Функционирование большинства веб-сайтов в сети Интернет во многом зависит от используемого движка. Чаще всего это MySQL или его альтернативный вариант – MariaDB. В результате изменения некоторых настроек может произойти следующая ситуация: движок отказывается запускаться. Это может доставить много хлопот в том случае, если такое происходит на сервере публичного проекта.
Так как любая проблема имеет решение, остается найти необходимый «ключик».
Содержание
- 1 Основные причины, почему не стартует mysql / MariaDB server
- 1.1 Что делать
- 1.2 Инструменты для проверки и оптимизации сервера
- 1.3 Повреждение таблиц баз данных — corrupt database page Mysql
- 1.3.1 Заключение
Основные причины, почему не стартует mysql / MariaDB server
При запуске сервиса может быть использован systemd. Это приведет к ошибке – на экране появится соответствующий текст:
«failed to start mysql server»
Обычному пользователю подобный текст ни о чем не скажет. Отходя в сторону от «шифров», следует уделить особое внимание возможным причинам сбоя:
- Допущенные ошибки в синтаксисе конфигурационного файла;
- Заданы неправильные настройки;
- Нехватка памяти;
- Трудности с правами доступа;
- Не свободен сетевой порт;
- Повреждение таблиц баз данных. Обычно это происходит когда сервер выключился аварийно, например когда пропало электричество.
Как видите, существует предостаточно потенциальных причин для сбоя MySQL. И нет никакого смысла рассматривать всевозможные пути решения данной проблемы. Действовать по принципу «пальцем в небо» не стоит. Так как программа выдает определенную ошибку, нужно лишь разобрать её подробнее.
Что делать
Если недавно правили конфиг, необходимо проверить его на ошибки.
$ /usr/sbin/mysqld --help --verbose
Ошибки, найденные в конфигурационном файле, будут указаны в самом начале вывода. Их нужно исправить.
Следующее действие – перезапуск MySQL. Это легко сделать данным способом:
$ systemсtl restart mariadb
В том случае, если ошибка снова появляется на экране, нужно посмотреть статус, так называемый лог запуска.
$ systemсtl status -l mariadb
Теперь необходимо просмотреть лог MySQL. Он может быть не включен, поэтому для начала стоит задать:
$ sudo nano /etc/mysql/my.cnf
Далее еще раз производим запуск сервиса для просмотра ошибок.
На практике это делается следующим способом:
$ tail –f /var/log/mysql/error.log
В логе будут указаны ошибки, которые нужно исправить. На что обратить внимание:
- Fail
- Error
- Warning
- Aborted
Пользователю необходимо исправить проблемы с синтаксисом, а также устранить опции, для которых выделяется большой объем памяти.
Инструменты для проверки и оптимизации сервера
Посредством некоторых инструментов можно произвести мониторинг производительности MySQL. Возможно, работает программа, на которую затрачивается весь ресурс процессора. Это может послужить причиной блокировки машины. Инструменты, представленные ниже, помогут выявить нужный софт:
- Mytop;
- Glances;
- Top;
- Htop;
- Ps.
По окончанию мониторинга станет ясно, что происходит с состоянием памяти и дискового пространства.
Повреждение таблиц баз данных — corrupt database page Mysql
Если не запускается база данных по причине сломанных таблиц, тогда в логе можно увидеть строчку — aborting because of a corrupt database page.
В таком случае починить базу данных можно, рассмотрим процесс восстановления:
- запустить mysql в режиме восстановления. В данном режиме все ошибки игнорируются.
В конфиг /etc/mariadb/my.cnf добавим строчку
innodb_force_recovery = 2
Затем запускаем сервис.
systemctl start mariadb
При помощи утилиты mysqlcheck запустим восстановления таблиц.
mysqlcheck -u root --auto-repair --all-databases
После выполнения команды, удаляем из конфига строчку innodb_force_recovery = 2, затем перезапускаем mysql.
systemctl restart mariadb
Заключение
MySQL имеет достаточно широкое применение, что приводит к немалому числу потенциальных ошибок и сбоев. Рассмотреть всевозможные ошибки в одном материале не представляется возможным. Многое будет зависеть от того, каким образом взаимодействует приложение пользователя с базой данных. Алгоритм необходимых действий под конкретную ситуацию также будет зависеть от того, какую ошибку выдаёт система.
В данной статье указаны самые распространенные проблемы при работе с MySQL и доступные способы решения этих проблем. Следуйте нашим подсказкам, чтобы запустить сервер и продолжить работу в привычном режиме.
MySQL — система управления базами данных (СУБД) с открытым исходным кодом от компании Oracle. Она была разработана и оптимизирована специально для работы веб-приложений. MySQL является неотъемлемой частью таких веб-сервисов, как Facebook, Twitter, Wikipedia, YouTube и многих других.
Эта статья расскажет, как определять, с чем связаны частые ошибки на сервере MySQL, и устранять их.
Не удаётся подключиться к локальному серверу
Одной из распространённых ошибок подключения клиента к серверу является «ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var/run/mysqld/mysqld.sock’ (2)».
Эта ошибка означает, что на хосте не запущен сервер MySQL (mysqld
) или вы указали неправильное имя файла сокета Unix или порт TCP/IP при попытке подключения.
Убедитесь, что сервер работает. Проверьте процесс с именем mysqld
на хосте сервера, используя команды ps или grep, как показано ниже.
$ ps xa | grep mysqld | grep -v mysqld
Если эти команды не показывают выходных данных, то сервер БД не работает. Поэтому клиент не может подключиться к нему. Чтобы запустить сервер, выполните команду systemctl.
$ sudo systemctl start mysql #Debian/Ubuntu
$ sudo systemctl start mysqld #RHEL/CentOS/Fedora
Чтобы проверить состояние службы MySQL, используйте следующую команду:
$ sudo systemctl status mysql #Debian/Ubuntu
$ sudo systemctl status mysqld #RHEL/CentOS/Fedora
Если в результате выполнения команды произошла ошибка службы MySQL, вы можете попробовать перезапустить службу и ещё раз проверить её состояние.
$ sudo systemctl restart mysql
$ sudo systemctl status mysql
Если сервер работает (как показано) и вы по-прежнему видите эту ошибку, вам следует проверить, не заблокирован ли порт TCP/IP брандмауэром или любой другой службой блокировки портов.
Для поиска порта, который прослушивается сервером, используйте команду netstat
.
$ sudo netstat -tlpn | grep "mysql"
Ещё одна похожая и часто встречающаяся ошибка подключения — «(2003) Can’t connect to MySQL server on ‘server’ (10061)». Это означает, что в сетевом соединении было отказано.
Следует проверить, работает ли в системе сервер MySQL (смотрите выше) и на тот ли порт вы подключаетесь (как найти порт, можно посмотреть выше).
Похожие частые ошибки, с которыми вы можете столкнуться при попытке подключиться к серверу MySQL:
ERROR 2003: Cannot connect to MySQL server on 'host_name' (111)
ERROR 2002: Cannot connect to local MySQL server through socket '/tmp/mysql.sock' (111)
Ошибки запрета доступа в MySQL
В MySQL учётная запись (УЗ) определяется именем пользователя и клиентским хостом, с которого пользователь может подключиться. УЗ может также иметь данные для аутентификации (например, пароль).
Причин для запрета доступа может быть много. Одна из них связана с учётными записями MySQL, которые сервер разрешает использовать клиентским программам при подключении. Это означает, что имя пользователя, указанное в соединении, может не иметь прав доступа к базе данных.
В MySQL есть возможность создавать учётные записи, позволяющие пользователям клиентских программ подключаться к серверу и получать доступ к данным. Поэтому при ошибке доступа проверьте разрешение УЗ на подключение к серверу через клиентскую программу.
Увидеть разрешённые привилегии учётной записи можно, выполнив в консоли команду SHOW GRANTS
Входим в консоль (пример для Unix, для Windows консоль можно найти в стартовом меню):
В консоли вводим команду:
> SHOW GRANTS FOR 'tecmint'@'localhost';
Дать привилегии конкретному пользователю в БД по IP-адресу можно, используя следующие команды:
> grant all privileges on *.test_db to 'tecmint'@'192.168.0.100';
> flush privileges;
Ошибки запрещённого доступа могут также возникнуть из-за проблем с подключением к MySQL (см. выше).
Потеря соединения с сервером MySQL
С этой ошибкой можно столкнуться по одной из следующих причин:
- плохое сетевое соединение;
- истекло время ожидания соединения;
- размер BLOB больше, чем
max_allowed_packet
.
В первом случае убедитесь, что у вас стабильное сетевое подключение (особенно, если подключаетесь удалённо).
Если проблема с тайм-аутом соединения (особенно при первоначальном соединении MySQL с сервером), увеличьте значение параметра connect_timeout
.
В случае с размером BLOB нужно установить более высокое значение для max_allowed_packet
в файле конфигурации /etc/my.cnf
в разделах [mysqld]
или [client]
как показано ниже.
[mysqld]
connect_timeout=100
max_allowed_packet=500M
Если файл конфигурации недоступен, это значение можно установить с помощью следующей команды.
> SET GLOBAL connect_timeout=100;
> SET GLOBAL max_allowed_packet=524288000;
Слишком много подключений
Эта ошибка означает, что все доступные соединения используются клиентскими программами. Количество соединений (по умолчанию 151) контролируется системной переменной max_connections
. Устранить проблему можно, увеличив значение переменной в файле конфигурации /etc/my.cnf
.
[mysqld]
max_connections=1000
Недостаточно памяти
Если такая ошибка возникла, это может означать, что в MySQL недостаточно памяти для хранения всего результата запроса.
Сначала нужно убедиться, что запрос правильный. Если это так, то нужно выполнить одно из следующих действий:
- если клиент MySQL используется напрямую, запустите его с ключом
--quick switch
, чтобы отключить кешированные результаты; - если вы используете драйвер MyODBC, пользовательский интерфейс (UI) имеет расширенную вкладку с опциями. Отметьте галочкой «Do not cache result» (не кешировать результат).
Также может помочь MySQL Tuner. Это полезный скрипт, который подключается к работающему серверу MySQL и даёт рекомендации по настройке для более высокой производительности.
$ sudo apt-get install mysqltuner #Debian/Ubuntu
$ sudo yum install mysqltuner #RHEL/CentOS/Fedora
$ mysqltuner
MySQL продолжает «падать»
Если такая проблема возникает, необходимо выяснить, заключается она в сервере или в клиенте. Обратите внимание, что многие сбои сервера вызваны повреждёнными файлами данных или индексными файлами.
Вы можете проверить состояние сервера, чтобы определить, как долго он работал.
$ sudo systemctl status mysql #Debian/Ubuntu
$ sudo systemctl status mysqld #RHEL/CentOS/Fedora
Чтобы узнать время безотказной работы сервера, запустите команду mysqladmin
.
$ sudo mysqladmin version -p
Кроме того, можно остановить сервер, сделать отладку MySQL и снова запустить службу. Для отображения статистики процессов MySQL во время выполнения других процессов откройте окно командной строки и введите следующее:
$ sudo mysqladmin -i 5 status
Или
$ sudo mysqladmin -i 5 -r status
Заключение
Самое важное при диагностике — понять, что именно вызвало ошибку. Следующие шаги помогут вам в этом:
- Первый и самый важный шаг — просмотреть журналы MySQL, которые хранятся в каталоге
/var/log/mysql/
. Вы можете использовать утилиты командной строки вродеtail
для чтения файлов журнала. - Если служба MySQL не запускается, проверьте её состояние с помощью
systemctl
. Или используйте командуjournalctl
(с флагом-xe
) в systemd. - Вы также можете проверить файл системного журнала (например,
/var/log/messages
) на предмет обнаружения ошибок. - Попробуйте использовать такие инструменты, как Mytop, glances, top, ps или htop, чтобы проверить, какая программа использует весь ресурс процессора или блокирует машину. Они также помогут определить нехватку памяти, дискового пространства, файловых дескрипторов или какого-либо другого важного ресурса.
- Если проблема в каком-либо процессе, можно попытаться его принудительно остановить, а затем запустить (при необходимости).
- Если вы уверены, что проблемы именно на стороне сервера, можете выполнить команды:
mysqladmin -u root ping
илиmysqladmin -u root processlist
, чтобы получить от него ответ. - Если при подключении проблема не связана с сервером, проверьте, нормально ли работает клиент. Попробуйте получить какие-либо его выходные данные для устранения неполадок.
Перевод статьи «Useful Tips to Troubleshoot Common Errors in MySQL»
Делаю всё по инструкции ( https://zen.yandex.ru/media/oleglav/ustanovka-vebs… ) установил apache, php, phmmyadmin, но с MySQL какая то шляпа.
ФАЙЛ my.ini :
[mysqld]
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
basedir="C:/Server/data/DB/"
datadir="C:/Server/data/DB/data/"
default_authentication_plugin=mysql_native_password
port = 3306
Пробовал и без строчки порт
В сети есть одно из решений это прописать следующее в CMD
mysqld —initialize
далее
net start mysql
Но результат тот же
Через СЛУЖБЫ пытался запустить MySQL но выдаёт ошибку
the MySQL service on local computer started and then stopped. Some services stop automatically if they are not in use by other services or programs.
И выбивает ошибку :
#1 17.03.2019 17:42:44
- Mehanik
- Участник
- Зарегистрирован: 17.03.2019
- Сообщений: 16
Не удалось запустить MySQL-8.0-x64
Доброго здравия форумчане!
При запуске OpenServer’a возникла такая проблема:
2019-03-17 17:39:45 ———————————————
2019-03-17 17:39:45 Начало процедуры запуска сервера
2019-03-17 17:39:46 Обновление Hosts файла
2019-03-17 17:39:46 Обновление конфигурации MySQL-8.0-x64
2019-03-17 17:39:46 Обновление конфигурации Sendmail
2019-03-17 17:39:46 Обновление конфигурации PHP-7.2
2019-03-17 17:39:46 Обновление конфигурации PHPMyAdmin
2019-03-17 17:39:46 Обновление конфигурации Apache-PHP-7
2019-03-17 17:39:46 Запуск MySQL-8.0-x64
2019-03-17 17:39:46 Запуск Apache-PHP-7
2019-03-17 17:39:46 Проверка состояния сервера
2019-03-17 17:40:32 Не удалось запустить MySQL-8.0-x64
2019-03-17 17:40:32 Сбой запуска!
2019-03-17 17:40:32 ———————————————
2019-03-17 17:40:32 Начало процедуры остановки сервера
2019-03-17 17:40:32 Остановка системных модулей
2019-03-17 17:40:33 Отключение виртуального диска
2019-03-17 17:40:33 Сервер успешно остановлен за 0,969 секунд!
В MySQL откладке прописано:
mysqld: [ERROR] Found option without preceding group in config file d:ospanelmodulesdatabaseMySQL-8.0-x64my.ini at line 1!
mysqld: [ERROR] Fatal error in defaults handling. Program aborted!
Что с этим делать?
Подскажите пожалуйста.
Неактивен
#2 17.03.2019 17:45:00
- Mehanik
- Участник
- Зарегистрирован: 17.03.2019
- Сообщений: 16
Re: Не удалось запустить MySQL-8.0-x64
Стоят:
Apache-PHP-7
PHP-7.2
MySQL-8.0-x64
Неактивен
#3 17.03.2019 17:58:07
- vasya
- Архат
- Откуда: Орел
- Зарегистрирован: 07.03.2007
- Сообщений: 5817
Re: Не удалось запустить MySQL-8.0-x64
см d:ospanelmodulesdatabaseMySQL-8.0-x64my.ini
есть ли там в начале записи не относящиеся к какой-либо секции?
возможно файл содержит BOM-маркер, тогда нужно открыть дамп в текстовом редакторе (например, Notepad++) и сохранить без BOM.
Неактивен
#4 17.03.2019 18:24:39
- Mehanik
- Участник
- Зарегистрирован: 17.03.2019
- Сообщений: 16
Re: Не удалось запустить MySQL-8.0-x64
В mi.ini прописано:
#
# ВНИМАНИЕ! Это временный файл, его редактирование бессмысленно!
#
[client]
port = 3306
character-sets-dir = «d:\ospanel\modules\database\MySQL-8.0-x64\share\charsets»
[mysql]
character-sets-dir = «d:\ospanel\modules\database\MySQL-8.0-x64\share\charsets»
no-auto-rehash
no-beep
[mysqld]
skip-character-set-client-handshake
skip-name-resolve
sql-mode=»STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION»
#general_log = 1
#general_log_file = «d:\ospanel\userdata\logs\MySQL-8.0-x64_queries.log»
back_log = 100
basedir = «d:\ospanel\modules\database\MySQL-8.0-x64»
bind-address = 127.0.0.1
binlog_row_event_max_size=8K
bulk_insert_buffer_size = 2M
character-set-server=utf8
character-sets-dir = «d:\ospanel\modules\database\MySQL-8.0-x64\share\charsets»
collation-server=utf8_general_ci
connect_timeout = 5
datadir = «d:\ospanel\userdata\MySQL-8.0-x64»
default-storage-engine=InnoDB
explicit_defaults_for_timestamp = TRUE
flush_time=0
ft_min_word_len=4
init-connect=»SET NAMES utf8″
interactive_timeout=30
join_buffer_size = 1M
key_buffer_size = 25M
local-infile=0
skip-log-bin
log-error = «d:\ospanel\userdata\logs\MySQL-8.0-x64_error.log»
max_allowed_packet = 32M
max_connect_errors = 10
max_connections = 30
max_heap_table_size = 25M
myisam-recover-options=backup,force
myisam_max_sort_file_size = 256M
myisam_repair_threads = 1
open_files_limit=4110
pid_file = «d:\ospanel\userdata\temp\mysql.pid»
port = 3306
default_authentication_plugin = mysql_native_password
read_buffer_size=2M
read_rnd_buffer_size=4M
secure-file-priv = «d:\ospanel\userdata\temp»
server-id = 1
skip-external-locking
skip-innodb_adaptive_hash_index
sort_buffer_size = 1M
ssl-cert=»d:\ospanel\userdata\config\cert_files\server.crt»
ssl-key=»d:\ospanel\userdata\config\cert_files\server.key»
table_definition_cache = 400
table_open_cache = 400
thread_cache_size = 4
tmp_table_size = 25M
tmpdir = «d:\ospanel\userdata\temp»
transaction-isolation = READ-COMMITTED
wait_timeout=60
innodb_fast_shutdown
innodb_file_per_table = 1
innodb_force_recovery=1
skip-innodb_doublewrite
innodb_buffer_pool_instances=1
innodb_buffer_pool_size = 128M
innodb_checksum_algorithm=0
innodb_concurrency_tickets=5000
innodb_data_file_path = ibdata1:10M:autoextend
innodb_data_home_dir = «d:\ospanel\userdata\MySQL-8.0-x64»
innodb_flush_log_at_trx_commit = 2
innodb_lock_wait_timeout = 30
innodb_log_buffer_size = 1M
innodb_log_file_size = 64M
innodb_log_files_in_group = 2
innodb_max_dirty_pages_pct = 90
innodb_old_blocks_time=1000
innodb_read_io_threads = 8
innodb_stats_on_metadata=0
innodb_thread_concurrency=4
innodb_write_io_threads = 8
[mysqldump]
quick
max_allowed_packet = 16M
[myisamchk]
key_buffer_size = 50M
sort_buffer_size = 50M
read_buffer = 8M
write_buffer = 8M
[mysqlhotcopy]
interactive-timeout
[mysqld_safe]
open-files-limit = 2048
Неактивен
#5 17.03.2019 18:36:51
- vasya
- Архат
- Откуда: Орел
- Зарегистрирован: 07.03.2007
- Сообщений: 5817
Re: Не удалось запустить MySQL-8.0-x64
1) удалите всё что до [client]
2) сохраните его без BOM
Неактивен
#6 17.03.2019 18:37:59
- Mehanik
- Участник
- Зарегистрирован: 17.03.2019
- Сообщений: 16
Re: Не удалось запустить MySQL-8.0-x64
vasya написал:
см d:ospanelmodulesdatabaseMySQL-8.0-x64my.ini
есть ли там в начале записи не относящиеся к какой-либо секции?
возможно файл содержит BOM-маркер, тогда нужно открыть дамп в текстовом редакторе (например, Notepad++) и сохранить без BOM.
Запустил через редактор и метка уже стояла на UTF-8 без BOM.
Неактивен
#7 17.03.2019 18:43:17
- Mehanik
- Участник
- Зарегистрирован: 17.03.2019
- Сообщений: 16
Re: Не удалось запустить MySQL-8.0-x64
vasya написал:
1) удалите всё что до [client]
2) сохраните его без BOM
Удалил всё что до [client]
Далее запустил редактор и сохранил без BOM.
Всё осталось по прежнему.
Неактивен
#8 17.03.2019 18:51:44
- Mehanik
- Участник
- Зарегистрирован: 17.03.2019
- Сообщений: 16
Re: Не удалось запустить MySQL-8.0-x64
После очередного запуска у меня всё возвращается обратно как и было.
Неактивен
#9 17.03.2019 19:08:34
- Mehanik
- Участник
- Зарегистрирован: 17.03.2019
- Сообщений: 16
Re: Не удалось запустить MySQL-8.0-x64
Зашёл в OpenServer;
В конфигурациях запустил MySQL-8.0-х64;
Установил UTF-8 без BOM;
Запустил my.ini и убрал всё что было до [client];
Запускаю OpenServer и через пару секнуд вылазит окно:
Отредактированно Mehanik (17.03.2019 19:09:30)
Неактивен
#10 17.03.2019 21:56:30
- vasya
- Архат
- Откуда: Орел
- Зарегистрирован: 07.03.2007
- Сообщений: 5817
Re: Не удалось запустить MySQL-8.0-x64
если выбрать нет, то что будет?
Неактивен
#11 17.03.2019 22:00:21
- Mehanik
- Участник
- Зарегистрирован: 17.03.2019
- Сообщений: 16
Re: Не удалось запустить MySQL-8.0-x64
vasya написал:
если выбрать нет, то что будет?
Она пишет, что изменения произошли, и запрашивает подтверждение на обновление запущенного файла в Notepad++
А так ничего не происходит после нажатия «Нет»
Неактивен
#12 17.03.2019 23:17:18
- vasya
- Архат
- Откуда: Орел
- Зарегистрирован: 07.03.2007
- Сообщений: 5817
Re: Не удалось запустить MySQL-8.0-x64
попробуйте сохранить файл в кодировке ANSI
Неактивен
#13 17.03.2019 23:18:58
- Mehanik
- Участник
- Зарегистрирован: 17.03.2019
- Сообщений: 16
Re: Не удалось запустить MySQL-8.0-x64
vasya написал:
попробуйте сохранить файл в кодировке ANSI
Всё также.
Имею ввиду тоже самое, как и с BOM.
Отредактированно Mehanik (17.03.2019 23:19:37)
Неактивен
#14 18.03.2019 11:47:49
- Mehanik
- Участник
- Зарегистрирован: 17.03.2019
- Сообщений: 16
Re: Не удалось запустить MySQL-8.0-x64
Будут ли ещё какие варианты решения этой проблемы?
Неактивен
#15 18.03.2019 13:29:34
- paulus
- Администратор
- Зарегистрирован: 22.01.2007
- Сообщений: 6753
Re: Не удалось запустить MySQL-8.0-x64
Можно сохранить файл, а потом отобрать у него права на редактирование. Тогда он не сможет обновиться обвязками, так есть хоть какой-то шанс попробовать без бом.
Неактивен
#16 18.03.2019 13:45:42
- Mehanik
- Участник
- Зарегистрирован: 17.03.2019
- Сообщений: 16
Re: Не удалось запустить MySQL-8.0-x64
paulus написал:
Можно сохранить файл, а потом отобрать у него права на редактирование. Тогда он не сможет обновиться обвязками, так есть хоть какой-то шанс попробовать без бом.
Если я делаю запрет на редактирование, то возникает ошибка «Отказ доступа» и указывает на my.ini файл.
Неактивен
#17 18.03.2019 14:01:05
- paulus
- Администратор
- Зарегистрирован: 22.01.2007
- Сообщений: 6753
Re: Не удалось запустить MySQL-8.0-x64
Тогда даже не представляю. Пока всё выглядит так, как будто openserver не работает (портит my.ini). Можно попробовать поставить его же английской версии (возможно, там не будет портить, т.к. там нету русских букв в преамбуле). Ну или пробовать ставить не openserver (компоненты вручную, lamp в докер или что-то такое).
Неактивен
#18 18.03.2019 17:48:37
- LazY
- _cмельчак
- Зарегистрирован: 02.04.2007
- Сообщений: 845
Re: Не удалось запустить MySQL-8.0-x64
Господа, вы, кажется, пропустили вот эту фразу в начале ini-файла:
# ВНИМАНИЕ! Это временный файл, его редактирование бессмысленно!
Судя по всему, этот файл перезаписывается в процессе запуска системы, и исправлять там что-то бесполезно. Нужно установить файл-первоисточник, из которого генерируется этот, и вносить изменения уже в него.
Неактивен
#19 18.03.2019 19:17:17
- Mehanik
- Участник
- Зарегистрирован: 17.03.2019
- Сообщений: 16
Re: Не удалось запустить MySQL-8.0-x64
LazY написал:
Нужно установить файл-первоисточник, из которого генерируется этот, и вносить изменения уже в него.
Где я могу найти этот файл? И как он называется?
Неактивен
#20 18.03.2019 21:16:45
- paulus
- Администратор
- Зарегистрирован: 22.01.2007
- Сообщений: 6753
Re: Не удалось запустить MySQL-8.0-x64
Ну нет же, не пропустили. Мы как раз боремся с BOM-маркером перед этим русским текстом
Как его найти — неизвестно. Это может быть и шаблон, и программа. Можно попробовать поискать по какому-нибудь вхождению в текст. Типа innodb_data_home_dir. Но я всё еще склоняюсь к тому, что, раз бандл не работает из коробки, не стоит его мучать (а стоит ставить все компоненты отдельно).
Неактивен
#21 18.03.2019 21:19:19
- Mehanik
- Участник
- Зарегистрирован: 17.03.2019
- Сообщений: 16
Re: Не удалось запустить MySQL-8.0-x64
paulus написал:
Ну нет же, не пропустили. Мы как раз боремся с BOM-маркером перед этим русским текстом
Как его найти — неизвестно. Это может быть и шаблон, и программа. Можно попробовать поискать по какому-нибудь вхождению в текст. Типа innodb_data_home_dir. Но я всё еще склоняюсь к тому, что, раз бандл не работает из коробки, не стоит его мучать (а стоит ставить все компоненты отдельно).
Есть какое пособие по подключению MySQL 8.0? Отдельно.
Неактивен
#22 18.03.2019 21:22:24
- Mehanik
- Участник
- Зарегистрирован: 17.03.2019
- Сообщений: 16
Re: Не удалось запустить MySQL-8.0-x64
Странно. На старом ПК установил и всё нормально.
Купил буквально недавно ноутбук, установил OpenServer и проблемы появились…
Отредактированно Mehanik (19.03.2019 17:09:51)
Неактивен
#23 19.03.2019 17:20:44
- paulus
- Администратор
- Зарегистрирован: 22.01.2007
- Сообщений: 6753
Re: Не удалось запустить MySQL-8.0-x64
Пособие приблизительно такое:
1. Идете на сайт MySQL и качаете дистрибутив: https://dev.mysql.com/downloads/mysql/
2. Устанавливаете MySQL
Неактивен
#24 19.03.2019 20:05:04
- Mehanik
- Участник
- Зарегистрирован: 17.03.2019
- Сообщений: 16
Re: Не удалось запустить MySQL-8.0-x64
Решил я проблему. Сейчас подробно опишу.
Неактивен
#25 19.03.2019 20:12:36
- Mehanik
- Участник
- Зарегистрирован: 17.03.2019
- Сообщений: 16
Re: Не удалось запустить MySQL-8.0-x64
Неактивен