Mysql не запускается windows 10

Обновлено: 05.07.2024

Статья давно не обновлялась, поэтому информация могла устареть.

Содержание

На корректно работающем VDS создание базы займет не больше 5 минут. В левом меню ISPmanager находим раздел "Базы данных" - Создать - заполнить необходимые поля - пароли рекомендуем создавать сложные.

Теперь немного о тех местах, где могут возникнуть сложности.

Раздела "Базы данных" нет в меню

Есть 2 возможных варианта и пути решения проблемы:

1)На сервере не запущен сервер баз данных MySQL:

  1. Проверить, активен ли сервис, вы можете в меню "Сервисы" панели ISPmanager. Попробуйте запустить или перезапустить его с помощью кнопок в панели.
  2. Если не помогло, перезапустите из консоли командой /etc/init.d/mysql restart для Ubuntu/Debian/Centos 6 или командой systemctl restart mariadb для Centos 7.

2) Проблемы с подключением к базе данных: Откройте пункт меню "Серверы баз данных", двойным кликом откройте свойства и нажмите "OK", ничего не меняя. Это принудительно обновит информацию о MySQL в панели управления. После этого обновите страницу - пункт "Базы данных" должен появиться.

Случается так, что пароль root от MySQL-сервера утерян, и надо установить новый. Делается следующим образом:

В Centos 6/Debian/Ubuntu:

Запускаем его без проверки таблиц прав:

Заходим root’ом без пароля:

Продолжаем для всех версий

В Centos 6/Debian/Ubuntu:

Авторизуемся как root с паролем new_password

MySQL - свободная реляционная система управления базами данных. Поиск проблем с сервисом лучше всего начинать с изучения логов. Для этого необходимо подключиться на сервер по ssh Их расположение разнится в зависимости от используемой файловой системы. В конфигурационном файле my.cnf нужно искать строки log и log-error, чтобы определить, где находятся логи. Также можно воспользоваться mysql запросом:

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

И в секцию [mysqld] добавить строку:

Выйти из файла, выполнить команды:

Следующая команда включит просмотр созданного лога в режиме реального времени(tail –f) и оставить его в фоне(&) что бы можно было параллельно запускать другие команды:

Перечень возможных проблем

Table './site/content' is marked as crashed and should be repaired

Если эта команда выдаёт ошибку, вставьте ключи раздельно

  • <USER> - имя пользователя базы данных, либо "root".
  • <PASSWORD> - заменить на пароль root от MySQL (его можно посмотреть в ISPmanager -> Настройки сервера -> Серверы баз данных -> двойной клик на MySQL)

Либо можно выполнить исправление конкретной базы данных

  • <USER> - имя пользователя базы данных, либо "root".
  • <PASSWORD> - заменить на пароль root от MySQL (его можно посмотреть в ISPmanager -> Настройки сервера -> Серверы баз данных -> двойной клик на MySQL)
  • <BD> - база данных, требуемая починки

mysql_connect() [function.mysql-connect]: Access denied for user 'user_xxx'@'localhost' (using password: YES)

Чаще всего связана с тем, что в настройках сайта указаны не верные данные(логин и/или пароль) для подключения к базе. Вариант решения: посмотреть в админ-панели сайта пользователь, пароль и название базы для подключения к базе. Зайти в ISPmanager -> настройки сервера -> кликнуть на базу, кликнуть на пользователя и в графу «Пароль» поставить пароль из админ-панели.

На сайте ошибка: Не удалось подключиться к базе данных

В зависимости от используемой CMS эта ошибка может по-разному выглядеть:

Подключится на сервер по SSH, выполнить:

Убедится что в ISPmanager, в разделе «Службы» лампочка mysqld горит.

В панели ISPmanager 5 нет пункта Базы данных

Это значит у вас в ISPmanager --- Серверы баз данных не создано ни одного сервера баз данных. Создайте

MySQL не запускается ни в сервисах, ни через консоль.

При запуске через консоль ошибки могут быть вида:

Проверить свободное место на диске.

Если не осталось места, удалить не нужные файлы.

Частая ситуация, когда логи сайтов разрастаются и места на диске свободного не остается, MySQL не может нормально работать(справедливо и для всех остальных сервисов – apache, exim и т.д.)

Снова пробуем перезапустить MySQL:

Если проблема не со свободным местом, в логах должны появиться записи, похожие на эту:

Смотрим записи с меткой [ERROR]. В логе выше, ошибка «Error while setting value '--read_buffer_size=256K' to 'sort_buffer_size'» означает, что в конфиге my.cnf не верно прописана директива 'sort_buffer_size. Этот случай приведен только для примера. В каждом конкретном случае – лог будет различаться. Ошибки могут быть самые разные. Дальнейшие действия зависят от конкретной ошибки и требуют детального разбирательства.

Решение проблем с кодировками MySQL

Чтобы решить проблему - достаточно понять логику работы. MySQL, начиная с версии 4.1, знает что такое кодировки и как с ними работать. Если до 4.0 он работал с байтами, то теперь он работает с символами.

MySQL написали шведы, поэтому кодировкой по умолчанию (сразу после установки) является latin1, а "сравнение" (последовательность букв, алфавит; влияет на сортировки) - latin1_swedish.

Итак, где кодировки указываются:

1. Кодировка конкретной базы/таблицы/столбца. Это кодировка, в которой MySQL будет хранить данные. Например, если у вас данные в cp1251, то будет большой ошибкой указывать для хранения кодировку latin1. В ней нет соответствий для русских символов, все они будут заменены на вопросы. Кодировка хранения можно задать, например, так:

Если кодировка не указана - будет использовано значение параметра default-character-set из файла /etc/my.cnf (либо latin1, если параметра нет). Кстати, именно этот параметр редактирует ISPmanager в свойствах сервера баз данных.

2. Кодировка соединения. Это кодировка, в которой клиент (скрипт пользователя, форум, mysql-клиент и т.д.) общается с MySQL. Когда клиент подсоединяется к серверу, тот ему сообщает значение параметра default-character-set. Таким образом, они договариваются о том, в какой кодировке они будут общаться. Кодировку общения можно изменить запросом (его лучше выполнять сразу после соединения с сервером):

Кстати, множество современных правильных скриптов именно это и делают.

Одна сложность: есть ряд кривых клиентов, которые всего этого не понимают и общаются в какой-то своей кодировке. Персонально для них можно написать в /etc/my.cnf, секцию [mysqld]:

Что это означает? Сразу после подсоединения любого клиента, MySQL выполнит запрос "set names utf8", как будто смену кодировки общения запросил сам клиент.

Это всё, что нужно знать для решения любой проблемы с кодировками в MySQL. Осталось несколько уточнений (самое интересное :)

phpMyAdmin, mysqldump - обычные клиенты, на них действуют те же самые правила. Одно "но": на все PHP-скрипты (включая phpMyAdmin) действует default-character-set из секции [client] в my.cnf. Для mysqldump есть отдельная секция [mysqldump]. ISPmanager прописывает default-character-set во все секции.

Дамп базы - это обычный набор MySQL-команд. Если вы в самое его начало напишете "set names cp1251;", то эта команда тоже выполнится и MySQL будет считать, что дальше все данные в дампе идут в кодировке cp1251.

Кодировки в MySQL-командах пишутся без кавычек и без "-" (дефисов). Популярные в России кодировки: utf8, cp866 (DOS), cp1251 (windows-1251), koi8r.

И, наконец, пара советов:

  • Если вы в этом новичок, постарайтесь свести всё к одной кодировке. Пусть у вас дамп и "default-character-set" (напомню, влияет на кодировку хранилища при создании таблиц и на кодировку общения с клиентом) будет в одной кодировке. Это избавит от путаницы и решит 90% проблем.
  • Если есть возможность - используйте консольную утилиту mysqldump. phpMyAdmin - это дополнительная прослойка, которая лишь добавляет свою путаницу и свои баги.

Чтобы русифицировать базу данных MySQL, не вдаваясь в подробности почему и как, проделайте следующие процедуры:

1. В файле /etc/my.cnf добавьте следующие строчки:

1.1. Под разделом [client]

1.2. Под разделом [mysqld]

После этого перезапустите базу MySQL или весь ваш виртуальный сервер (из ISPmanager или консоль).

ФАЙЛ my.ini :
Пробовал и без строчки порт

В сети есть одно из решений это прописать следующее в CMD

55555555555555555555555555.jpg

Но результат тот же

Через СЛУЖБЫ пытался запустить 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.

1111111111111111111111111111111111.jpg


И выбивает ошибку :

Простой 17 комментариев

Compolomus

Compolomus

Ну а вообще гляньте диспетчер задач и если что то там запущено убейте и попробуйте ещё раз запустить, ну и как вариант ещё винду перезагрузить

flapflapjack

Дмитрий, openserver, который весит 100500 гигов, ради одного mylsq? Отлично.

flapflapjack

что показывает
netstat -a | find -i 3306

что показывает
ipconfig

и что внутри my.cnf?

foowee800

ФАЙЛА my.cnf В МОИХ ФАЙЛАХ нет.

flapflapjack

Артём, ПОНЯЛ.
НУ ТОГДА ЖАЛЬ, ЧТО В ВАШИХ ФАЙЛАХ НЕТ.
Может тогда есть my.ini?

foowee800

flapflapjack

Compolomus

Талян, это в разы быстрее, не знаю в чем проблема скачать и распаковать, интернет или место свободное? Плюс есть минимальная сборка, которая почти не весит

foowee800

Талян, по инструкции :
Установка и настройка MySQL:

В каталог bin распаковываем файлы MySQL (из архива mysql-8.0.16-winx64.zip). Переименовываем папку mysql-8.0.16-winx64 переименовать в mysql-8.0. Заходим в эту папку и создаём там файл my.ini Открываем этот файл любым текстовым редактором.

Добавьте туда следующие строки:

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
datadir="C:/Server/data/DB/data/" <-------------------можно одну строку
default_authentication_plugin=mysql_native_password

Выполняем инициализацию и установку:

$ C:\Server\bin\mysql-8.0\bin\mysqld --initialize-insecure --user=root
$ C:\Server\bin\mysql-8.0\bin\mysqld --install
$ net start mysql

В каталоге C:\Server\data\DB\data\ должны появиться автоматически сгенерированные файлы и служба MySQL будет запускаться при каждом запуске Windows.

Ошибка установки mysql под windows: «Не удалось запустить службу MYSQL» 3534 проблема


Установите MYSQL под Windows, введите
net start mysql
Ошибка этого шага: ошибка 3534:

Есть две основные причины:
1. Переменная окружения PATH не добавлена
2. Файл конфигурации My.ini не редактируется


2. В каталоге установки MYSQL создайте новый каталог данных.
Как правило, при распаковке архива файл данных отсутствует.
Перед тем, как обратиться к этой статье «Загрузка, установка, настройка и использование MySQL (win7x64)» в Baidu Know, при загрузке определенной версии установочного пакета MYSQL с официального сайта распакуйте его в соответствующий каталог. Затем перейдите в каталог установки MYSQL и создайте файл конфигурации по умолчанию my.ini.

Запишите в my.ini следующее (файл .ini - это файл конфигурации в окне и различные данные по умолчанию в нем.)

Скопировать код
После сохранения my.ini заменит файл по умолчанию my-default.ini. (Красная линия отмечена и заменена в соответствии с личными обстоятельствами)

После создания my.ini вам нужно вручную создать новую папку данных в каталоге установки MYSQL. (См. Строку 10 в my.ini указывает каталог, в котором установлены данные базы данных mysql)

3. Удалите, переустановите и инициализируйте MYSQL и, наконец, запустите службу MYSQL.

Откройте командную строку cmd от имени администратора и по очереди введите следующие команды:

1 C: Windows \ system32> mysqld --romve // ​​Удалить службу mysql
2 C: Windows \ system32> mysqld --install // Установка службы mysql

3 C: Windows \ system32> mysqld --initialize // Обязательно инициализируйте


4 C:Windows\system32>net start mysql
Четвертый маленький шаг инициализации очень важен. После выполнения команды инициализации пустой каталог данных сгенерирует следующие новые файлы:

Файл с суффиксом err содержит пароль для mysql. Каждый пользователь распаковывает zip-файл. Его необходимо открыть в Блокноте для просмотра.

Наконец, служба MYSQL запускается, как показано ниже, показывая, что запуск прошел успешно.
Обычно пароль в файле ошибок более сложен. Вы можете mysql -uroot -p
После ввода mysql введите ALTER USER 'root'@'localhost' IDENTIFIED BY 'xxxxxx'; Чтобы сменить пароль.

От автора: не запускается MySQL? Наверно «стартер» барахлит. Нужно показать опытному «механику». Хотя в некоторых случаях можно обойтись и собственными силами. Вот сегодня и разберемся, как произвести починку «заглохнувшей» СУБД самостоятельно.

Использование теории «чужих ошибок»

Если думаете, что при написании материалов из этой серии я «не потею», то ошибаетесь. Даже самый «заядлый» разработчик-профессионал не может все знать. Причем часто натыкаешься в своей практике на те «грабли», на которые уже наступал (и не раз). А это во сто крат обиднее и больнее. Получается, что данная статья предназначена не только для вас, но и мне .

Но в MySQL столько «граблей», что их умудряются не перешагнуть и «чайники», и профессионалы по всему миру. Попробуем в этом материале собрать наиболее частые причины того, почему не подключается база данных MySQL и другие распространенные проблемы.

Начнем с описания особенностей синтаксиса запросов SQL. Данная система управления БД хоть и основана на языке структурированных запросов, но все же сохранила некоторую самобытность с «заковыркой». Причем в прямом смысле этого слова .

Особенности синтаксиса

Для примера возьмем один, и выполним его в программной оболочке, которую часто используем. А также запустим его в командной строке. Таким образом мы выясним особенности синтаксиса MySQL, «царящих» в каждом из вариантов. Начнем, как предписывает традиция, с phpMySQL. Но сначала запрос, написанный по всем «канонам» SQL:


Бесплатный курс по PHP программированию

Освойте курс и узнайте, как создать динамичный сайт на PHP и MySQL с полного нуля, используя модель MVC

В курсе 39 уроков | 15 часов видео | исходники для каждого урока

Теперь введем его и выполним в программе:


Как видим, приложение «ругается» на несоответствующий синтаксис. Правильно:


В phpMyAdmin (чтобы не говорили потом «не удалось запустить MySQL») название столбцов экранируются грависом, а все указываемые значения – одинарными кавычками. Кстати, гравис находится над клавишей буквы «Ё».

На самом деле использование грависов не является обязательным. Они прописываются программой в автоматически сгенерированных запросах. Ошибки синтаксиса в командной строке

Теперь переходим в командную строку, и попытаемся запустить вариант запроса, корректный для phpMyAdmin. Здесь нас сразу подстерегает ошибка, поскольку мы не выделили ни одной БД.



Бесплатный курс по PHP программированию

Освойте курс и узнайте, как создать динамичный сайт на PHP и MySQL с полного нуля, используя модель MVC

В курсе 39 уроков | 15 часов видео | исходники для каждого урока

И еще раз выполним предыдущий код SQL. Теперь все прошло успешно. Для чистоты эксперимента введем первый вариант запроса. Сервер СУБД говорит нам, что такого столбца в этой таблице нет. Исправим запрос, и экранируем значение одинарными кавычками.

Но что-то опять пошло не так, и MySQL ждет от нас ввода дополнительных параметров. Это потому, что мы забыли поставить точку с запятой. Хотя она не является обязательной в phpMyAdmin.


Кстати (пока мы находимся в CMD) одной из причин, почему не удается запустить службу MySQL из командной строки, может быть нарушение синтаксиса команды входа. «Неправильный» пример:


Из-за пробела между параметром –p и значением пароля система СУБД просит пользователя ввести пароль еще раз. Но затем его значение не принимает. Напомню, что все из-за одного единственного пробела. Правильная написанная команда выглядит следующим образом: Z:\usr\local\mysql-5.5\bin\mysql.exe -u roman –pзначение пароля

На этих граблях я тоже «побывал» неоднократно. Вот такой «крючковатый» синтаксис получается . Также важно, если не удалось запустить MySQL через командную строку, проверить правильность указанного пути к исполняемому файлу СУБД.

Другие распространенные ошибки

Вот еще несколько самых частых ошибок, которые допускают пользователи СУБД:


Поясню следующий скриншот, и почему и не удается подключиться к MySQL базе. Я зашел на сервер БД под учеткой пользователя (user), привилегии которого распространяются только на одну базу. При попытке вывести список всех баз, имеющихся на сервере, MySQL вернул пустой результат. А когда я попытался «пробраться» на другую БД, система выдала мне «Access denied».



Не устанавливается MySQL – причин этого может быть много. Например, если вы пытаетесь инсталлировать СУБД через командную строку, то она должна быть запущена от имени администратора устройства.

Понятно, что это далеко не все «популярные» неполадки MySQL. Если «копнуть» глубже, то на их изучение уйдут годы. Помните, что причиной всех бед может стать обычный пробел или неправильная кавычка. И из-за этого ваш MySQL будет «глохнуть» уже на старте. Вот такая «заковырка» получается .


Бесплатный курс по PHP программированию

Освойте курс и узнайте, как создать динамичный сайт на PHP и MySQL с полного нуля, используя модель MVC

Читайте также: