状況
MySQL をスタートさせるとこんなログが出る状況です。
foobar | 2022-04-18T03:18:47.208332Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started. foobar | 2022-04-18T03:18:47.281734Z 1 [ERROR] [MY-012574] [InnoDB] Unable to lock ./ibdata1 error: 11 foobar | 2022-04-18T03:18:48.282992Z 1 [ERROR] [MY-012574] [InnoDB] Unable to lock ./ibdata1 error: 11 foobar | 2022-04-18T03:18:49.284458Z 1 [ERROR] [MY-012574] [InnoDB] Unable to lock ./ibdata1 error: 11 foobar | 2022-04-18T03:18:50.286125Z 1 [ERROR] [MY-012574] [InnoDB] Unable to lock ./ibdata1 error: 11 foobar | 2022-04-18T03:18:51.287800Z 1 [ERROR] [MY-012574] [InnoDB] Unable to lock ./ibdata1 error: 11 foobar | 2022-04-18T03:18:52.289881Z 1 [ERROR] [MY-012574] [InnoDB] Unable to lock ./ibdata1 error: 11 foobar | 2022-04-18T03:18:53.291744Z 1 [ERROR] [MY-012574] [InnoDB] Unable to lock ./ibdata1 error: 11 foobar | 2022-04-18T03:18:54.293712Z 1 [ERROR] [MY-012574] [InnoDB] Unable to lock ./ibdata1 error: 11 foobar | 2022-04-18T03:18:55.295607Z 1 [ERROR] [MY-012574] [InnoDB] Unable to lock ./ibdata1 error: 11 foobar | 2022-04-18T03:18:56.297634Z 1 [ERROR] [MY-012574] [InnoDB] Unable to lock ./ibdata1 error: 11 foobar | 2022-04-18T03:18:57.299803Z 1 [ERROR] [MY-012574] [InnoDB] Unable to lock ./ibdata1 error: 11
結論
このとき、裏側で動いている MySQL のプロセスがあるので、それを kill
します。
まずプロセスを調べます。
$ ps aux | grep mysql 27 1838505 0.5 4.6 2131484 373820 ? Sl 12:39 0:18 mysqld --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci ......
上記が裏で動いているプロセスだとして、これを kill します。
$ sudo kill -9 1838505
kill したあとに MySQL を再起動すれば問題なく起動できているはずです。