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

推薦する

光るテキストとちょっとしたJS特殊効果を実現するCSS

実装のアイデア: CSSでtext-shadowを使用してテキストの光る効果を実現します効果画像: ...

Linux サーバーで MySQL リモート接続を有効にする方法

序文以前の非MKレコードを再編成するためのMySQLの学習説明する有効になっていない場合、データベー...

MySQL シリーズ 12 バックアップとリカバリ

目次チュートリアルシリーズ1. バックアップ戦略の説明1. バックアップの種類2. バックアップで考...

MySQL インデックスの原理と最適化の詳細な説明

序文この記事は Meituan の大物によって書かれました。とても素晴らしいので、皆さんと共有したい...

Vue3でアイコンを使用する2つの例

目次1. SVGを使用する2. fontAwesomeを使用する3 ソース4 結論テクノロジースタッ...

CentOS7.4 起動時の緊急モードへようこそメッセージに対する解決策

今日は仮想マシンを使って実験をしました。システムをインストールし、いくつかのオプションを最適化した後...

一般的なMysql DDL操作の概要

図書館管理ライブラリを作成する データベースを作成します [存在しない場合] ライブラリ名;ライブラ...

MySQL 5.7.18 無料インストール版ウィンドウ設定方法

初めてのブログです。データベースの勉強を始めた頃のことを書いています。自分でダウンロードしたのですが...

サーバー上でjupyterノートブックを実行する問題を解決する

目次サーバーはjupyterノートブックを実行します仮想環境次にファイアウォールをオフにしますJup...

ES6 における Object.assign() の使い方の詳細な説明

目次2. 目的2.1 オブジェクトにプロパティを追加する2.3 オブジェクトの複製2.4 複数のオブ...

Webデザインにおけるフォームデザインテクニックのまとめ

「脳が多数の領域間の関係を処理できるように、入力は論理的なグループに分割する必要があります。」 – ...

SSH ポート転送とは何ですか?何の役に立つの?

目次序文1. ローカルポート転送2. リモートポート転送3. 動的ポート転送(SOCKS5) 4. ...

超シンプルな QPS 統計手法 (推奨)

過去 N 秒間の QPS 値の統計 (1 秒あたりの選択、挿入などを含む) mysql> se...

HTML ページで JSON データを表示およびフォーマットする方法

JSONデータはHTMLページ上に表示されフォーマットされます1. 表示効果図説明:すべてのキー値は...

CSS3 で複数のカスタムフォントを導入する

今日、HTML に問題を発見しました。多くのデフォルト フォントが提供されていますが、「Bold」、...