web-dev-qa-db-ja.com

mysqlサーバーの起動に失敗しました

私は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
27
ananth

ターミナルを開きます(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

(ソース)

25
jobin

これは私の問題を解決しました:

mkdir /var/run/mysqld

touch /var/run/mysqld/mysqld.sock

chown -R mysql /var/run/mysqld

/etc/init.d/mysql restart

9
user520064

次の方法で問題を解決しました。

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

別のコンテキストでは、mysqlデーモンの起動に失敗したために直面​​しました。したがって、コマンド-mysqld startでデーモンを開始してから、サービスを開始してみてください。

7
Sudheesh.M.S

ログファイルに同じエラーメッセージと同じ空白がありました。構成ファイル(my.cnf)で、[mysqld]セクションに次の行を追加して、myisamテーブルを使用することを指定しました。

default-table-type = myisam

Mysqlをアップグレードした後、これによりmysqlが起動しないようです。これを次のように変更しました。

default-storage-engine = myisam

そして今、すべてが正常に動作します。

2

私の場合、それはスペースの問題でした。十分なスペースが残っているかどうかを確認します。

/var/log/mysql/error.logから2行からヒントを得ました。

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#

ケースは閉じられました。役に立てば幸いです。

1
sukupandachu

新しいスワップスペースを追加して使用可能なRAMを増やすことも役立ちます。手順は here です

/ swapfileは、次のように使用可能なスペースよりも小さいサイズで作成してください。

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

お役に立てれば。ではごきげんよう。

1
Vivek

私の解決策:

すべての/etc/rc1.d ... /etc/rc5.dで、mysqlスクリプトがK AS K10mysqlではなくS(Ex S10mysql)で始まるかどうかを確認します。

説明:Kプレフィックスは、停止、killサービスの種類でロードされます。 Sプレフィックスはstartパラメーターで始まります。

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
1
Sergio Abreu

次のコマンドは私の問題を解決し、mysqlはその後起動する可能性があります(場合によっては役に立つかもしれません)

chown -R mysql: /var/lib/mysql
0
Yusef Mohamadi

ファイル/var/lib/mysql/.run-mysql_upgradeを削除すると、起動するはずです

;)

「大きな力には大きな責任が伴います」

0
Adrian Pule

max_allowed_packet = 0.5M/etc/mysql/my.cnfを設定すると、この問題が発生しました。

max_allowed_packet1Mに変更して解決しました。

0
ratskin