MariaDB 10.1: CentOS 7でパスワードセキュリティを強化!古いパスワードから新しいパスワードに変更 & secure-authを有効化

2024-07-27

MariaDB 10.1 で古いパスワードを新しいパスワードに変更し、secure-auth を有効にする方法

このチュートリアルでは、CentOS 7 で実行されている MariaDB 10.1 の古いパスワードを新しいパスワードに変更し、secure-auth を有効にする方法を説明します。

secure-auth は、MariaDB の認証メカニズムを強化するセキュリティ機能です。有効にすると、パスワードハッシュがより安全な方法で保存され、ブルートフォース攻撃のリスクが軽減されます。

手順

  1. MariaDB サーバーを停止します。
sudo systemctl stop mariadb
  1. mysql セッションを開きます。
sudo mysql
  1. 現在のパスワードを使用してログインします。
mysql> USE mysql;
mysql> ALTER USER 'root'@'localhost' PASSWORD('old_password');
  1. 新しいパスワードを入力します。
mysql> ALTER USER 'root'@'localhost' PASSWORD('new_password');
  1. secure-auth を有効にします。
mysql> UPDATE mysql.user SET plugin='auth_socket' WHERE user='root' AND host='localhost';
  1. 変更を保存して終了します。
mysql> FLUSH PRIVILEGES;
mysql> EXIT;
sudo systemctl start mariadb

これで、MariaDB 10.1 のパスワードが変更され、secure-auth が有効になりました。

注:

  • 上記の手順を実行する前に、MariaDB サーバーをバックアップすることをお勧めします。
  • 新しいパスワードは安全な場所に保管してください。
  • secure-auth を有効にした後、古いクライアントアプリケーションがデータベースに接続できなくなる場合があります。その場合は、クライアントアプリケーションを更新する必要があります。



#!/bin/bash

# MariaDB サーバーを停止
sudo systemctl stop mariadb

# mysql セッションを開く
sudo mysql

# 現在のパスワードを使用してログイン
mysql> USE mysql;
mysql> ALTER USER 'root'@'localhost' PASSWORD('old_password');

# 新しいパスワードを入力
mysql> ALTER USER 'root'@'localhost' PASSWORD('new_password');

# secure-auth を有効にする
mysql> UPDATE mysql.user SET plugin='auth_socket' WHERE user='root' AND host='localhost';

# 変更を保存して終了
mysql> FLUSH PRIVILEGES;
mysql> EXIT;

# MariaDB サーバーを再起動
sudo systemctl start mariadb

実行方法

  1. 上記のコードを change_password.sh という名前のファイルに保存します。
  2. 以下のコマンドを使用してスクリプトを実行します。
sudo sh change_password.sh

注意事項




phpMyAdmin は、Web ブラウザを使用して MariaDB を管理するためのツールです。phpMyAdmin を使用してパスワードを変更するには、以下の手順を実行します。

  1. phpMyAdmin にログインします。
  2. 左側のメニューから サーバー > ユーザー を選択します。
  3. 編集 をクリックして、root ユーザーのパスワードを変更します。
  4. 新しいパスワード確認用パスワード フィールドに新しいパスワードを入力します。
  5. 実行 をクリックして変更を保存します。
  6. 左側のメニューから スーパーバイザ > グローバル設定 を選択します。
  7. 認証 タブをクリックします。
  8. 認証プラグイン ドロップダウンリストから auth_socket を選択します。

mysqlslap ツールを使用する

mysqlslap は、MariaDB サーバーと対話するために使用できるコマンドライン ツールです。mysqlslap を使用してパスワードを変更するには、以下のコマンドを実行します。

mysqlslap --user=root --password=old_password -e "ALTER USER 'root'@'localhost' PASSWORD('new_password'); UPDATE mysql.user SET plugin='auth_socket' WHERE user='root' AND host='localhost'; FLUSH PRIVILEGES;"
  • 上記のコマンドを実行する前に、old_passwordnew_password を実際のパスワードに置き換えてください。

MariaDB 設定ファイルを編集する

MariaDB 設定ファイルを編集して、パスワードを変更することもできます。MariaDB 設定ファイルは通常、/etc/my.cnf または /etc/mysql/my.cnf にあります。

MariaDB 設定ファイルを編集するには、以下の手順を実行します。

  1. 以下のコマンドを使用して、MariaDB 設定ファイルをテキストエディタで開きます。
sudo nano /etc/my.cnf
  1. 以下の行を見つけます。
[client]
user=root
password=old_password
[mysql]
default-authentication-plugin=auth_socket
  1. 以下のコマンドを使用して、テキストエディタを保存して閉じます。
Ctrl+O
Ctrl+X
  1. 以下のコマンドを使用して、MariaDB サーバーを再起動します。
sudo systemctl restart mariadb

mysql database mariadb



データ移行ツール、クラウドサービス、オープンソースツールを使って SQL Server 2005 から MySQL へデータを移行する

このチュートリアルでは、SQL Server 2005 から MySQL へデータを移行する方法について 3 つの方法を説明します。方法 1: SQL Server Management Studio を使用方法 2: bcp コマンドを使用...


データベースアプリケーションにおける XSD データセットと外部キーの重要性

XSD データセットは、XML スキーマ定義 (XSD) を使用して定義されたデータの集合です。.NET では、DataSet クラスを使用して XSD データセットを表します。外部キーは、データベースの 2 つのテーブル間の関連を表す制約です。XSD データセットでは、ForeignKeyConstraint クラスを使用して外部キーを表します。...


SQL Serverデータベースのバージョン管理:Subversion(SVN)との連携方法

この解説では、Subversion(SVN)と呼ばれるバージョン管理システムを用いて、SQL Serverデータベースのバージョン管理を行う方法について説明します。SVNは、ファイルやディレクトリのバージョン管理に広く用いられるオープンソースツールであり、データベースのバージョン管理にも活用できます。...


INSERT INTOステートメントのIGNOREオプションでMySQL REPLACE INTOを代替

MySQLのREPLACE INTOコマンドは、SQL Server 2005では完全に同じように実装されていません。しかし、いくつかの代替方法を用いることで、同様の動作を実現することができます。REPLACE INTO とはREPLACE INTOは、INSERT INTOと似ていますが、以下の点が異なります。...


.NET Framework と SQLite を使用して XSD データセットに基づいて SQLite データベースを作成する方法

このチュートリアルを完了するには、次のものが必要です。Visual Studio 2019 以降.NET Framework 4.7 以降SQLite ADO. NET プロバイダVisual Studio で新しい C# コンソール アプリケーション プロジェクトを作成します。...



SQL SQL SQL SQL Amazon で見る



ストアドプロシージャ、ライブラリ、フレームワーク...MySQLでバイナリデータを扱うためのツール

BINARY:固定長のバイナリデータ型。最大255バイトまで保存できます。BLOB:可変長のバイナリデータ型。最大65, 535バイトから4GBまで保存できます。TEXT:可変長の文字列型。最大65, 535バイトから4GBまで保存できます。バイナリデータだけでなく、文字列も保存できます。


ストアドプロシージャ、ライブラリ、フレームワーク...MySQLでバイナリデータを扱うためのツール

BINARY:固定長のバイナリデータ型。最大255バイトまで保存できます。BLOB:可変長のバイナリデータ型。最大65, 535バイトから4GBまで保存できます。TEXT:可変長の文字列型。最大65, 535バイトから4GBまで保存できます。バイナリデータだけでなく、文字列も保存できます。


MySQLトリガーでテーブル更新を防止するエラーをスローする方法

MySQLトリガーは、特定のデータベース操作に対して自動的に実行されるコードです。トリガーを使用して、テーブル更新を防止するエラーをスローすることができます。例:以下の例は、usersテーブルのage列が18歳未満の場合に更新を防止するトリガーです。


MySQLトリガーでテーブル更新を防止するエラーをスローする方法

MySQLトリガーは、特定のデータベース操作に対して自動的に実行されるコードです。トリガーを使用して、テーブル更新を防止するエラーをスローすることができます。例:以下の例は、usersテーブルのage列が18歳未満の場合に更新を防止するトリガーです。


初心者でも安心!PHPでフラットファイルデータベースを始めるためのガイド

PHPは、Web開発に広く使用されているプログラミング言語です。SQLは、データベースとのやり取りに使用される構造化照会言語です。フラットファイルデータベースは、PHPとSQLを使用して読み書きできます。軽量で高速設定と管理が簡単習得しやすい