gooブログはじめました!

写真付きで日記や趣味を書くならgooブログ

FreeBSDのMySQL8の初期化

2020-05-04 09:50:00 | ノンジャンル
どうしようもなくなったので、FreeBSD 12.1 の上のMySQL8のDBを初期化することにした。削除すべきファイルは、my.cnf (/usr/local/etc/mysql/my.cnf )の中に書いているDBのディレクトリのパスにある。その前にMySQLのサービスを止める。

# service mysql-server stop

# grep datadir /usr/local/etc/mysql/my.cnf
datadir = /var/db/mysql
# rm -rf /var/db/mysql/*

MySQLのテンポラリディレクトリなどが存在していることを確認する。なければ、以下のパーミッションで作成する。これがないと次に行かない。

# ls -l /var/db | grep mysql
drwxr-x--- 2 mysql mysql 512 5月 4 10:13 mysql
drwxr-x--- 2 mysql mysql 512 5月 4 10:27 mysql_secure
drwxr-x--- 2 mysql mysql 512 5月 4 10:27 mysql_tmpdir

初期化のコマンドを実行する。FreeBSDの場合、mysqldコマンドが、/usr/local/binの下ではない。

# /usr/local/libexec/mysqld --initialize --user=mysql

実行すると、ファイルができている。

# ls -lR /var/db/mysql
total 0
-rw-r----- 1 mysql mysql 0 5月 4 09:55 mysql-bin.index

ログファイルの最後の行に、rootユーザのパスワードが入っている。# tail -1 /var/log/mysqld-error.log
2020-05-04T01:33:37.875970Z 5 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: uunkEf7pA>kX

# service mysql-server start
Starting mysql.

立ち上がっていることをpsコマンドで確認する。

# ps ax |grep mysql
2289 - Is 0:00.03 /bin/sh /usr/local/bin/mysqld_safe --defaults-extra-file=/usr/local/etc/mysql/my.cnf --basedir=/usr/local --da
3563 - I 0:00.68 /usr/local/libexec/mysqld --defaults-extra-file=/usr/local/etc/mysql/my.cnf --basedir=/usr/local --datadir=/va
3569 0 S+ 0:00.00 grep mysql

ログインできることを確認する。

# mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 7
Server version: 8.0.19 Source distribution

Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

root@localhost [(none)]>

うまくいったようだ。


最新の画像もっと見る

コメントを投稿