Linux 上の MariaDB は root ユーザーで起動します (推奨)

Linux 上の MariaDB は root ユーザーで起動します (推奨)

最近、セキュリティ製品をテストする必要があったため、mariadb の起動ユーザーを root に調整したいと考えました。紆余曲折を経て、ようやく成功しました!

注意: MySQL を root として起動することは非常に危険な動作であり、データベース操作ユーザー (データベース管理者またはハッカー) に MySQL を介してシステムを直接操作するチャネルを与えることに相当します。

実際、公式ではルートブートは許可されていないため、通常のブートモードでは、ルートブートは起動失敗を返し、/var/log/mariadb/mariadb.logにプロンプ​​トが表示されます。

mysqld を root として実行する方法を調べるには、ナレッジ ベースを参照してください。

さて、本題に入りましょう。Mariadb の起動方法についてです。

ほとんどの人は次のようにします: systemctl start mariadb

ただし、この命令は実際には mariadb.service を呼び出して (特定のディレクトリを見つけるには find を使用します)、mariadb を起動します。

mariadb.service 構成を次のように変更します。

# vi `find /usr -name 'mariadb.service' `

[ユニット]

わずかに

[サービス]

タイプ=シンプル

User=mysql はここで User=root に変更されます || サービスの起動ユーザー

Group=mysql は Group=root || サービスの起動グループに変更されます

#mysql ライブラリ ファイルを初期化するスクリプト。mysql ディレクトリが空でない場合は、「データベース Mariadb はおそらく /var/lib/mysql ですでに初期化されているため、何も行われません」というメッセージが表示されます。トラブルシューティング時にこのメッセージが表示された場合は、無視できます。

ExecStartPre=/usr/libexec/mariadb-prepare-db-dir %n

#mysqld実行スクリプトを実行し、セキュリティチェックを行います。このファイルはルートの起動を制限します

ExecStart=/usr/bin/mysqld_safe --basedir=/usrここにパラメータ--user=rootを追加します

以下省略。 。 。

#systemctl デーモンリロード
#systemctl mariadbを再起動します

PS: 同じ操作方法で、他のユーザーによる MySQL の起動もサポートされます。

ただし、2 つのディレクトリ/var/lib/mysql /var/log/mariadbの権限または所有権を調整する必要があります。

要約する

上記は、root ユーザーを使用して Linux で mariadb を起動する方法について編集者が紹介したものです。皆様のお役に立てれば幸いです。ご質問がある場合は、メッセージを残してください。編集者がすぐに返信いたします。また、123WORDPRESS.COM ウェブサイトをサポートしてくださっている皆様にも感謝申し上げます。
この記事が役に立ったと思われた方は、ぜひ転載していただき、出典を明記してください。ありがとうございます!

以下もご興味があるかもしれません:
  • Linux での MariaDB データベースのインストールの問題と解決策 (バイナリ バージョンのインストール)
  • Linux サーバーへの MariaDB 10 の自動インストールと展開
  • Linux で MySQL または MariaDB のルート パスワードをリセットする方法
  • Linux でデータベースを MySQL から MariaDB に移行するための基本操作チュートリアル
  • Linux に MariaDB データベースをインストールする詳細な例

<<:  MySQL 学習 (VII): Innodb ストレージ エンジン インデックスの実装原理の詳細説明

>>:  Vueモバイル端末は画面上で指をスライドさせる方向を判定する

推薦する

CentOS8 Linux 8.0.1905 のインストール手順(図解)

現在、CentOS の最新バージョンは CentOS 8 です。次に、CentOS Linux 8....

Web コンポーネントの内部イベント コールバックと問題点の分析

目次前面に書かれたWC とは何でしょうか?現在の欠陥1. コンポーネント内部イベントのコールバック2...

MySQL トリガーの原理と使用例の分析

この記事では、例を使用して、MySQL トリガーの原理と使用方法を説明します。ご参考までに、詳細は以...

CentOS7 64ビットインストールmysqlグラフィックチュートリアル

MySQL をインストールするための前提条件: CentOS 7 64 ビットをインストールし、Ce...

MySQL Shell import_tableデータインポートの実装

目次1. import_tableの紹介2. データのロードとテーブル関数のインポートの例2.1 L...

廃止された Docker は Podman に置き換えられますか?

Kubernetes チームは最近、最新バージョンの Docker でサポートされている機能を廃止...

Vueウォッチの監視方法の概要

目次1. Vueにおけるwatchの役割はその名の通り、監視の役割です。 2. このオブジェクトのプ...

Navicat Premiumを使用してMySQLデータベースにリモート接続する方法

新しい接続を作成する側がクライアントに相当し、接続される側がサーバーに相当します。手順は次のとおりで...

WeChatアプレットにナンバープレート入力機能を実装

目次序文背景大きな推測パターンを見つける構造とスタイルコンポーネントの実装パラメータキーボードの種類...

MySQLデータベースとテーブルシャーディングの概要

プロジェクトの開発中に、データベースのデータがどんどん大きくなり、その結果、1 つのテーブルにデータ...

MySQL の非主キー自己増分使用例の分析

この記事では、例を使用して、MySQL の非主キーの自己増分の使用方法を説明します。ご参考までに、詳...

MySQL全文検索の使用例

目次1. 環境整備2. データの準備3. ショーを始める4. 単語分割エンジン要約する参考文献1. ...

MySQL ifnull のネスト使用手順

MySQL ifnull のネストされた使用ifnull をネストする方法があるかどうかオンラインで...

MySQL での mysqladmin 日常管理コマンドの概要 (必読)

mysqladmin ツールの使用形式は次のとおりです。 mysqladmin [オプション] コ...

一般的なDocker Composeコマンドの詳細な説明

1. Docker Compose の使用方法は docker コマンドの使用方法と非常に似ています...