WSL2ではPID 1がinitd問題によってsystemdが起動できません。 そのため、systemctlが使えなくてMySQLが起動できないってなるのですが、yoku0825さんにやり方を教えてもらったのでメモとして残します。
そんなムズくないです。最近のmysqldには--daemonizeがあるのでそれを使えばokです
— yoku0825 (@yoku0825) 2021年8月2日
つまりroot権限で mysqld --daemonize
を叩けばOK。
ただ /var/run
配下は再起動時に /var/run/mysqld/
がなくて失敗すると思うので起動はフォルダを作って権限を付けてあげましょう。
$ mkdir /var/run/mysqld $ chown mysql:mysql: /var/run/mysqld $ mysqld --daemonize
これでMySQLがいつもどおり起動します。 yoku0825さんはMySQLのことをなんでも知ってて便利。
2021/09/12 追記
rootでたたくと
— yoku0825 (@yoku0825) 2021年9月12日
2021-09-12T09:05:51.031408Z 0 [ERROR] [MY-010123] [Server] Fatal error: Please read "Security" section of the manual to find out how to run mysqld as root!
って怒られません? (my.cnfに
[mysqld]
user=mysql
って書いてあれば怒られませんが
僕のmysqld.conf、初期状態で
— そーだい@初代ALF (@soudai1025) 2021年9月12日
user = mysql
って書いてあるので初期状態だと怒られないっぽい。
自分の秘伝のタレmy.cnf使うときは気をつけましょう。