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 の例

推薦する

Vueの最初のプログラムを書くための勉強ノート

目次1. HTMLを書く、最初のVueプログラムビューテンプレートとデータに注意してください決定ルー...

クールなネオンライト効果を実現する純粋な CSS (デモ付き)

私は最近、YouTube の CSS アニメーション効果チュートリアル シリーズをフォローしています...

Mysql5.7.14 インストールと設定方法操作グラフィックチュートリアル(パスワード問題解決)

この記事は主に、以前のインストール方法を使用して MySQL 5.7.14 をインストールするときに...

商品クエリ機能を実現するJavaScript

この記事の例では、商品検索機能を実現するためのJavaScriptの具体的なコードを参考までに共有し...

jQuery における Ajax の関連知識ポイントのまとめ

序文JavaScriptを学ぶ学生は、 AJAX (非同期JavaScriptとxml) 変換は非同...

...

MySQL レプリケーション テーブルの詳細とサンプル コード

MySQL レプリケーション テーブルの詳細な説明テーブル構造、インデックス、デフォルト値などを含む...

Bootstrap 3.0 学習ノートのページレイアウト

今回はレイアウトを中心に学習しますが、これは基本的なHTMLタグのほとんどにも存在するため、比較的簡...

Mysql クエリの結果セットを JSON データに変換するサンプル コード

Mysql はクエリ結果セットを JSON データに変換します 序文 学生テーブル 学生スコアテーブ...

Zabbix を使用して Oracle データベースを監視する方法の詳細な説明

1. 概要Zabbix は非常に強力で、最も広く使用されているオープンソースの監視ソフトウェアです。...

Docker、Nginx、Jenkins をベースにした自動フロントエンド デプロイメント

目次事前準備展開ターゲットDocker環境構築クラウドサーバーに接続Docker環境をインストールす...

JavaScript の構造化代入の一般的なシナリオと例 5 つ

目次序文1. データを抽出する2. エイリアス値3. 動的プロパティ4. オブジェクトの分解における...

タグ li はブロックレベル要素ですか?

なぜ高さを設定できるのでしょうか。<h1 /> などの要素とは異なり、「セミインライン」...

MYSQLテーブルの包括的な概要

目次1. テーブルを作成する1.1. テーブルを作成するための基本構文1.1.1. シンプルなテーブ...