Я использую сервер 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
Но процесс запуска завершился неудачно во всех 3 случаях. Файлы /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
Это решило мою проблему:
mkdir /var/run/mysqld
touch /var/run/mysqld/mysqld.sock
chown -R mysql /var/run/mysqld
/etc/init.d/mysql restart
Откройте терминал ( Ctrl + Высокий звук + 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
Я решил проблему следующим образом:
chown -R mysql:mysql /var/lib/mysql
mysql_install_db --user=mysql -ldata=/var/lib/mysql/
В другом контексте, я столкнулся с ним, потому что mysql демону не удалось запуститься. Поэтому запустите демона с команды - mysqld start
и затем попытайтесь запустить сервис.
У меня были то же сообщение об ошибке и то же, пустое в файлах журнала. В моем файле конфигурации (my.cnf) я определил, что хотел использовать myisam таблицы путем добавления этой строки в [mysqld] - раздел:
default-table-type = myisam
После обновления mysql кажется, что это заставляет mysql не запускаться. Я изменил это на:
default-storage-engine = myisam
и теперь все хорошо работает.
Мое решение:
Проверка, если во всем/etc/rc1.d.../etc/rc5.d mysql сценарий запускается с S (Исключая 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
Увеличение доступной RAM путем добавления новой Области подкачки могло бы также помочь. Шаги здесь
, Удостоверяются, что Вы создаете / своп-файл размера, меньшего, чем свободное место, показанное
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
Hope, которой это помогает. Все самое лучшее.
В моем случае это была космическая проблема. Проверьте, достаточно ли у вас места.
из /var/log/mysql/error.log
Я получил некоторые подсказки из двух строк:
2018-08-04T05:25:29.519139Z 0 [ERROR] InnoDB: Write to file ./ibtmp1failed at offset 3145728, 1048576 bytes should have been written, only 704512 were writt$
2018-08-04T05:25:29.519145Z 0 [ERROR] InnoDB: Error number 28 means 'No space left on device'
Я мог видеть, что это космическая проблема.
root@xxx:/home/user1# df -h
Filesystem Size Used Avail Use% Mounted on
udev 477M 0 477M 0% /dev
tmpfs 100M 11M 89M 11% /run
/dev/mapper/server1--osticket--vg-root 8.3G 7.9G 0 100% /
tmpfs 497M 0 497M 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 497M 0 497M 0% /sys/fs/cgroup
/dev/vda1 472M 467M 0 100% /boot
tmpfs 100M 0 100M 0% /run/user/1000
Отсюда я мог видеть, что на виртуальном сервере недостаточно места /dev/mapper/server1--osticket--vg-root 8.3G 7.9G 0 100% /
. Я подумал о переносе или увеличении виртуального диска, но сначала решил удалить ненужные файлы.
Итак, пришлось очистить кеш и ненужные файлы:
#apt-get clean
#apt-get -f autoremove
Затем не забудьте потом удалить поврежденные файлы журнала mysql. Они будут сгенерированы снова при перезапуске mysql
#service mysql stop
#cd /var/lib/mysql
#rm ib_logfile*
#service mysql start
Проверьте службу сервера mysql, и она, вероятно, запущена и работает
root@server1-osticket:/var/lib/mysql# service mysql status
● mysql.service - MySQL Community Server
Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled)
Active: active (running) since Sat 2018-08-04 23:07:24 WAT; 7min ago
Process: 1559 ExecStartPost=/usr/share/mysql/mysql-systemd-start post (code=exited, status=0/SUCCESS)
Process: 1549 ExecStartPre=/usr/share/mysql/mysql-systemd-start pre (code=exited, status=0/SUCCESS)
Main PID: 1558 (mysqld)
Tasks: 29
Memory: 280.3M
CPU: 589ms
CGroup: /system.slice/mysql.service
└─1558 /usr/sbin/mysqld
Aug 04 23:07:19 server1-osticket systemd[1]: Starting MySQL Community Server...
Aug 04 23:07:24 server1-osticket systemd[1]: Started MySQL Community Server.
root@server1-osticket:/var/lib/mysql#
Дело закрыто. Надеюсь, это поможет.
У меня была эта проблема, когда я установил max_allowed_packet = 0.5M
в /etc/mysql/my.cnf
.
я решил его путем изменения max_allowed_packet
к 1M
.