Debian 9 システムに MySQL データベースをインストールする方法

Debian 9 システムに MySQL データベースをインストールする方法

序文

タイトルを見ると、誰もが「Debian 9 に MySQL をインストールするにはどうすればいいのだろう?」と考えるはずです。それは簡単なことではないですか? sudo apt install mysql-serverだけで大丈夫ではないでしょうか?

予想外に、これまで遭遇したことのないいくつかの問題に遭遇し、多くの時間を無駄にしました。

Debian 9 では、MySQL が MariaDB に置き換えられたため、MySQL の従来のインストールとはいくつか違いがあります。

インストール方法

まず、 sudo apt install mysql-serverでもインストールできますが、インストールされるのは依然として MariaDB なので、 sudo apt install mariadb-serverを使用する方が適切です。

インストール後、パスワードを設定するための青いインターフェースがポップアップしないため、従来のものと異なることがわかりました。空のパスワードで直接ログインできると誤解していました。 mysql -uroot -pを直接試したところ、 ERROR 1698 (28000): Access denied for user 'root'@'localhost'が見つかりました。デフォルトのパスワードは空ではありませんか? /etc/mysql/debian.cnf を確認すると、デフォルトのパスワードが空であることがわかります。

最初の対応は、 mysqld_safe skip-grant-tablesを実行し、次にuse mysql;update user set password=PASSWORD('mysql') where User='root'; 。これで問題は解決しましたが、再起動後、どういうわけか再びログインできなくなりました。

しばらくして、MaraiDBのデフォルトのパスワードは確かに空であることがわかりましたが、ルートユーザーでしかログインできません。

注:ここでのユーザーとは、Linux システムの root ユーザーを指します。つまり、sudo su で root ターミナルに入ると、正常にログインできますが、一般ユーザーはログインできません。 (区別するために、ルートターミナルの最初の文字を大文字にし、mysql ルートユーザーの最初の文字を小文字にしました)

これで理解できたと思います。利便性のためだけに root ユーザーを使用することはできません。正しい方法は次のようになります。

まず、 sudo apt install mariadb-serverを使用してデータベースをインストールします。

次に、sudo su でルート端末に切り替え、 mariadb -uroot -p経由でデータベースにログインします。デフォルトのパスワードが空でない場合は、「/etc/mysql/debian.cnf」を表示できます。

ここで必要なのは、新しいユーザーを作成することです。 create user 'admin'@'localhost' identified by 'mysql'

次に、新しいユーザーの権限を設定します。 grant all on *.* to 'admin'@'localhost'

さて、別の便利な「Root」ユーザーを設定しましたが、その名前を admin に変更しました。

PS:ルート ターミナルでは、どのようなパスワードを入力しても、データベースに正常に接続できることがわかりました... めまいがします。

要約する

上記はこの記事の全内容です。この記事の内容が皆さんの勉強や仕事に一定の参考学習価値を持つことを願っています。ご質問があれば、メッセージを残してコミュニケーションしてください。123WORDPRESS.COM を応援していただきありがとうございます。

以下もご興味があるかもしれません:
  • Debian で MySQL を完全にアンインストールする方法
  • リモート接続を許可するように debian6 で mysql を設定する方法 (画像)
  • Debian 6.02 (squeeze) で MySQL 5.5 をコンパイルしてインストールする方法
  • Mysql が Debian システムに中国語の文字を挿入できない問題の究極の解決策
  • Ubuntu または Debian を実行しているサーバーから MySQL をアンインストールする方法
  • Debian で Python+Django+Nginx+uWSGI+MySQL を設定するためのチュートリアル

<<:  https ウェブサイトを展開し、Nginx でアドレス書き換えを構成するための詳細な手順

>>:  ファイルのアップロードの進行状況を示す React の例

推薦する

MySQLデッドロック問題の詳細な分析

序文私たちのビジネスがまだ初期段階にあり、同時実行の度合いが比較的低い場合、数年間はデッドロックの問...

MySQL 半同期レプリケーションの原理構成と導入の詳細な説明

環境の紹介: Ubuntu Server 16.04.2+MySQL 5.7.17 コミュニティ サ...

CSS 画像アニメーション効果のサンプルコード(フォトフレーム)

この記事では、CSS 画像アニメーション効果(フォトフレーム)のサンプルコードを紹介し、皆さんと共有...

Apache ソースコードのインストールと仮想ホストの設定に関する詳細なチュートリアル

ソースからApacheをインストールする1. Apacheソースコードをアップロードして必要なソフト...

Vueキャッシュ機能の使い方

目次vue2のキャッシュ機能Vue キャッシュ関数の変換最適化要約するvue2のキャッシュ機能vue...

Vueはアコーディオン効果を実装する

この記事の例では、アコーディオン効果を実現するためのVueの具体的なコードを参考までに共有しています...

CSS で高さが不明な垂直中央揃えを実装する

この記事では主に、高さが不明な垂直方向の中央揃えを CSS で実装する方法を紹介し、皆さんと共有しま...

int(3)とint(10)の値の範囲はmysqlで同じですか?

目次質問:答え:現実:知識ポイント結論は:要約する質問: MySQLフィールド、unsigned i...

Docker バインディング固定 IP/クロスホストコンテナ相互アクセス操作

序文これまでは、パイプワークで割り当てた静的 IP は一時的なものであり、再起動すると無効になってい...

JavaScript で配列の最大値と最小値を実装する 6 つの方法

配列[1,8,5,4,3,9,2]が与えられた場合、配列の最大値9と最小値1を取得するアルゴリズムを...

ノードイベントループにおけるイベント実行の順序

目次イベントループブラウザ環境イベントループノード環境イベントループ6つのステージ(1)setTim...

Linux nlコマンドの使い方

1. コマンドの紹介nl (行数) は指定されたファイルに行番号を追加し、標準出力に書き込みます。フ...

HTML メタタグの一般的な使用例のコレクション

マタタグとは<meta> 要素は、検索エンジン向けの説明やキーワード、更新頻度など、ペー...

HTML の左右レイアウトのサンプルコード

CS: ...コードをコピーコードは次のとおりです。 html,body{ margin:0px; ...

指定フィールドによるMySQLカスタムリストのソートの実装

問題の説明ご存知のとおり、MySQL でフィールドを昇順に並べ替える SQL は次のとおりです (i...