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モバイル端末は画面上で指をスライドさせる方向を判定する

推薦する

Ubuntu 16.04 64ビット版を3つのステップで32ビットプログラムと互換性を持たせる

ステップ1: システムのアーキテクチャを確認する dpkg --print-architecture...

JavaScriptとTypeScriptの関係

目次1. JavaScript とは何ですか? 2. JavaScript は何に使用されますか? ...

1 つの記事で JSON (JavaScript Object Notation) を理解する

目次JSONが登場JSON構造JSONオブジェクトJson オブジェクトと JavaScript オ...

js の一般的でない演算子と演算子の概要

一般的な演算子と JavaScript の演算子の概要カテゴリオペレーター算術演算子+、–、*、/、...

MySQL 8.0 における非同期レプリケーションの 3 つの方法について簡単に説明します。

この実験では、空のデータベース、オフライン、オンラインの 3 つのモードで、1 つのマスターと 2 ...

CSS3 変換によって子要素の固定位置を絶対位置に変更する方法

この記事では、CSS3 の transform を使用して子要素の固定配置を絶対配置に変更する方法を...

MySQLのさまざまなロックに関する詳細な理解

目次ロックの概要ロックの分類データベース操作の粒度データ操作の種類MySQL ロックさまざまなストレ...

Docker可視化ツールPortainerの導入と中国語翻訳

#docker 検索#docker プルポーター1. イメージを取得した後、中国語パッケージをダウン...

docker-compose でデプロイしたときに MySQL にアクセスできなくなる問題の簡単な分析

Docker-ComposeとはCompose プロジェクトは、以前の fig プロジェクトから派生...

LambdaProbe を使用して Tomcat を監視する方法

導入: Lambda Probe (旧称 Tomcat Probe) は、Apache Tomcat...

初心者がHTMLタグを学ぶ(3)

関連記事:初心者が学ぶ HTML タグ (2)導入された HTML タグは、必ずしも XHTML 仕...

インライン要素スパンの最小高さの定義

span タグは HTML ウェブページを作成するときによく使用されますが、このタグの使い方がよくわ...

mysql5.6 マスタースレーブ設定と非同期の問題の詳細な説明

目次1. MySQL マスタースレーブレプリケーションの原理2. MySQLのコンパイルとインストー...

MySQLのexplain型の詳細な説明

導入:多くの場合、さまざまな選択ステートメントを使用して必要なデータを照会した後、多くの人は作業が正...

Vue のクロスドメイン問題の処理と解決策の概要

ネットワークリクエストを送信すると、次の保存情報が表示されます。おめでとうございます。ドメインを越え...