この記事には広告を含む場合があります。
記事内で紹介する商品を購入することで、当サイトに売り上げの一部が還元されることがあります。
ども。あいしんくいっと(@ithinkitnet)です。
ithinkit
たまにしかrootユーザーを利用しないとよくある話ですよね。
さて。MariaDBでrootパスワードを初期化するにはどうすれば良いでしょうか。
試した環境
OS | MariaDB |
---|---|
CentOS 7.7 | 10.1.41 |
MariaDBのrootパスワードを初期化する方法
5.x系とは手順が異なるので注意!
rootのパスワード初期化の流れ
rootユーザーのパスワード初期化の流れは以下の通り。
rootユーザーのパスワード初期化手順
では、詳細な手順を見ていきましょう。
MariaDB停止させます。
systemctl stop mariadb
環境変数セットします。
“–skip-grant-tables”という環境編集オプションを設定し、MariaDBを起動します。
systemctl set-environment MYSQLD_OPTS="--skip-grant-tables"
環境変数がセット出来たら、MariaDBを起動します。
systemctl start mariadb
MariaDBが起動したら接続。
ithinkit
# mysql -u root
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 6
Server version: 10.1.41-MariaDB MariaDB Server
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]>
rootユーザでDBに接続出来たら、パスワード変更SQL実行。
MariaDB [(none)]> update user set password=PASSWORD("新パスワード") where User='root';
では、実際にやってみます。
今回は「password」という一番やってはいけないパスワードをrootユーザーのパスワードとして設定。
(真似しないようにw)
# mysql -u root
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 6
Server version: 10.1.41-MariaDB MariaDB Server
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]> update user set password=PASSWORD("password") where User='root
';
ERROR 1046 (3D000): No database selected
MariaDB [(none)]> use mysql
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
MariaDB [mysql]> update user set password=PASSWORD("password") where User='root';
Query OK, 4 rows affected (0.00 sec)
Rows matched: 4 Changed: 4 Warnings: 0
MariaDB [mysql]> flush privileges;
Query OK, 0 rows affected (0.00 sec)
MariaDB [mysql]> quit
Bye
rootパスワードが変更出来たら、MariaDB停止。
systemctl stop mariadb
先ほど設定した、”–skip-grant-tables”オプション解除。
systemctl unset-environment MYSQLD_OPTS
MariaDB起動。
systemctl start mariadb
あとは変更したパスワードでrootログイン出来ることが確認出来れば良い。
# mysql -u root -p
Enter password: 設定したパスワード>
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 5
Server version: 10.1.41-MariaDB MariaDB Server
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]> quit
ithinkit
「-(ハイフン)」含むDBの削除方法。
MariaDBでデータベース削除出来ない!?-(ハイフン)を含むDB名は要注意!
以上、あいしんくいっとでした。
2023年現在いろいろなサイトで試してみたのですが,うまくいきませんでした.
sudo mysql -u root
で管理者権限でmariadbを起動してから
alter user ‘root’@’localhost’ identified by ‘新しいパスワード’;
でmariadbのパスワード変更できました.
貴重な情報ありがとうございます!
参考にさせていただきます!