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

推薦する

MySQL双方向バックアップの実装方法

MySQL 双方向バックアップはマスター-マスター バックアップとも呼ばれ、両方の MySQL サー...

sed コマンドを使用して文字列を置換する Linux チュートリアル

文字列を置き換えるには、次の形式を使用する必要があります。 $ sed s/置換対象文字列/置換文字...

フローティングメニュー、上下スクロール効果を実現できます

コードはさらに合理化できますが、時間の制約があるため、まずはここで投稿して、自分で最適化してメニュー...

HTML における li タグの水平配置の例

ほとんどのナビゲーション バーは、下の図に示すように水平に配置されていますが、これはどのように実現さ...

Nginxのアクセスボリューム制御の詳細な説明

目的リクエスト アクセス ボリュームを制御するための Nginx ngx_http_limit_co...

CSS 3D からソースコードによる空間座標軸へ

かつて、サイコロを振るゲームについて話しました。その時は、steps 属性 + スプライト画像を使用...

JavaプログラミングでJavaScriptの超実用的なテーブルプラグインを書く

目次効果ドキュメント最初のステップステップ2ステップ3ソースコード効果ドキュメント最初のステップta...

ES6のシンボルデータ型について詳しく説明します

目次シンボルデータタイプシンボルが表示される理由シンボルの特徴シンボルの応用rbオブジェクトにupメ...

MySQL でストリーミングクエリを使用してデータ OOM を回避する

目次1. はじめに2. JDBCはストリーミングクエリを実装する3. パフォーマンステスト3.1. ...

JSのバイナリファミリーについての簡単な説明

目次概要ブロブBlob の動作BLOB ダウンロード ファイルブロブ画像のローカル表示BLOB ファ...

Reactの原理の説明

目次1. setState() の説明1.1 データの更新1.2 推奨構文1.3 2番目のパラメータ...

Vue3.0 手書きカルーセル効果

この記事では、Vue3.0の手書きカルーセル効果の具体的なコードを参考までに共有します。具体的な内容...

CSS ファンタスティックボーダーアニメーション効果の実装

今日、私はブログサイト shoptalkshow を閲覧していて、非常に興味深いこのインターフェース...

MySQL を暗号化および復号化するいくつかの方法 (要約)

目次前面に書かれた双方向暗号化エンコード/デコードAES_ENCRYPT/AES_DECRYPT D...

プロジェクトにaxiosをカプセル化する実際のプロセス

目次序文axiosカプセル化の利点パッケージのアイデア設定の優先順位axiosインスタンス構成1. ...