mysql

21

Я запускаю сервер ubuntu. Когда я попытался войти в mysql (который был запущен), я получил следующую ошибку

ERROR 2002 (HY000): Can't connect to local MySQL server through socket         '/var/run/mysqld/mysqld.sock' (2)

Но файл mysqld.sock не существует внутри папки /var/run/mysqld . При выполнении команды ps aux | grep mysql я понял, что сервер mysql не запущен.

Затем я попытался перезапустить сервер mysql, используя

service mysql start
service mysql restart
/etc/init.d/mysql start

Но процесс запуска не удался во всех трех случаях. /var/log/mysql/mysql.log и /var/log/mysql/mysql.err файлов пустые.

Но /var/log/error.log показывает следующую информацию:

140425 12:49:05 [Warning] Using unique option prefix myisam-recover instead of myisam-recover-options is deprecated and will be removed in a future release. Please use the full name instead.
140425 12:49:05 [Note] Plugin 'FEDERATED' is disabled.
140425 12:49:05 InnoDB: The InnoDB memory heap is disabled
140425 12:49:05 InnoDB: Mutexes and rw_locks use GCC atomic builtins
140425 12:49:05 InnoDB: Compressed tables use zlib 1.2.8
140425 12:49:05 InnoDB: Using Linux native AIO
140425 12:49:05 InnoDB: Initializing buffer pool, size = 3.0G
140425 12:49:05 InnoDB: Completed initialization of buffer pool
InnoDB: Error: log file ./ib_logfile0 is of different size 0 5242880 bytes
InnoDB: than specified in the .cnf file 0 26214400 bytes!
140425 12:49:05 [ERROR] Plugin 'InnoDB' init function returned error.
140425 12:49:05 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
140425 12:49:05 [ERROR] /usr/sbin/mysqld: unknown variable 'record_buffer=64M'
140425 12:49:05 [ERROR] Aborting

140425 12:49:05 [Note] /usr/sbin/mysqld: Shutdown complete
    
задан ananth 25.04.2014 в 09:31
источник

9 ответов

22

Откройте терминал ( Ctrl + Alt + t ) и выполните следующие действия:

sudo service mysql stop
sudo rm /var/lib/mysql/ib_logfile0
sudo rm /var/lib/mysql/ib_logfile1

и закомментируйте строку record_buffer=64M в /etc/mysql/my.cnf [1 ]

, а затем перезапустите msyql, используя:

sudo service mysql restart

(Источник)

    
ответ дан jobin 25.04.2014 в 10:36
8

Это решило мою проблему:

mkdir /var/run/mysqld

touch /var/run/mysqld/mysqld.sock

chown -R mysql /var/run/mysqld

/etc/init.d/mysql restart     

ответ дан user520064 12.11.2015 в 19:09
7

Я решил проблему следующим образом:

chown -R mysql:mysql /var/lib/mysql
mysql_install_db --user=mysql -ldata=/var/lib/mysql/

В другом контексте я столкнулся с этим, потому что не удалось запустить mysql daemon . Итак, запустите демон с командой - mysqld start , а затем попробуйте запустить службу.     

ответ дан Sudheesh.M.S 27.03.2015 в 17:16
2

У меня было такое же сообщение об ошибке и такая же пустота в файлах журнала. В моем конфигурационном файле (my.cnf) я указал, что хочу использовать таблицы myisam, добавив эту строку в раздел [mysqld]:

default-table-type = myisam

После обновления mysql, похоже, это заставляет mysql не запускаться. Я изменил это на:

default-storage-engine = myisam

, и теперь все работает нормально.

    
ответ дан Lars Olav Tveito 07.07.2015 в 12:16
1

Увеличение доступной ОЗУ путем добавления нового пространства подкачки также может помочь. Шаги здесь

Убедитесь, что вы создаете / swap-файл меньшего размера, чем доступное пространство, показанное

df -h

Например, для меня вывод df-h был:

Filesystem      Size  Used Avail Use% Mounted on
/dev/xvda1      7.8G  1.2G  6.3G  16% /
none            4.0K     0  4.0K   0% /sys/fs/cgroup
udev            492M   12K  492M   1% /dev
tmpfs           100M  336K   99M   1% /run

Итак, я создал с помощью 2 G

sudo fallocate -l 2G /swapfile

А затем просто запустите сервис

sudo /etc/init.d/mysql restart

Надеюсь, это поможет. Все лучшее.

    
ответ дан Vivek 21.06.2016 в 13:24
1

Мое решение:

Проверьте, что во всех /etc/rc1.d ... /etc/rc5.d скрипт mysql начинается с S (Ex S10mysql), а не K AS K10mysql.

Объяснение: префиксы K загружаются с остановкой, видом службы убийства; и префикс S начинается с параметра запуска.

execute in terminal:   
(command        script action  runlevel)
---------------------------------------
sudo update-rc.d mysql enable  2
sudo update-rc.d mysql enable  3
sudo update-rc.d mysql enable  4
sudo update-rc.d mysql enable  5
    
ответ дан Sergio Abreu 02.12.2016 в 08:58
0

Удалите файл /var/lib/mysql/.run-mysql_upgrade и он должен начать

;)

«С великой силой приходит большая ответственность»

    
ответ дан Adrian Pule 09.10.2014 в 01:26
0

У меня возникла эта проблема, когда я устанавливаю max_allowed_packet = 0.5M в /etc/mysql/my.cnf .

Я решил это, изменив max_allowed_packet на 1M .

    
ответ дан ratskin 13.09.2017 в 19:56
0

Следующая команда разрешает мою проблему, и mysql может запускаться после нее (в некоторых случаях это может быть полезно)

chown -R mysql: /var/lib/mysql
    
ответ дан zhilevan 10.12.2017 в 09:44