Ubuntu に Mysql をインストールしてリモート接続を有効にする方法
背景
使用したクラウド サーバーは Baidu Cloud (他のクラウド サーバーにも同じことが当てはまります)、システムは Ubuntu 20.04 LTS、Mysql バージョン 8.0 です。要件は Windows 上で開発することです。いつでも読み取りおよび書き込みサーバーに接続できます。サーバー上の Mysql
サーバーへのリモート接続を確立します
クラウド サーバーの製造元が提供する SSH クライアントまたは Web コンソールを使用できます。 、サーバーに接続できる限り
ちなみに、見た目が良くて使いやすい ssh クライアントをお勧めします: NextSSH
apt-get を使用して mysql をインストールします
最初に apt ウェアハウスを更新します:
sudo apt-get update
ちなみに、どのアカウントを使用しているかわからないので、できません。どのコマンドに高い権限が必要かわからないので、すべてのコマンドに sudo
を追加しました。これにより、コピーして貼り付けることができる人であれば、権限の問題なく直接使用できるようになります。
次に、mysql-server をインストールします:
sudo apt-get install mysql-server -y
このステップでは、mysql がインストールされ、自動的に起動されます。ご覧ください:
sudo service mysql status
root パスワードを設定します
現時点では、mysql root アカウントにはパスワードが設定されていません。mysql
コマンドを使用して直接ログインできます:
root パスワードを設定します (mynewpassword
の部分を設定したいパスワードに変更します):
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password by 'mynewpassword';
終了し、 mysql
コマンドを実行すると、直接ログインできないことがわかります。
#これまでのところ、サーバー上で mysql を直接使用できます。
リモート接続を監視するように構成ファイルを編集する
デフォルトでは、MySQL データベースはローカル接続のみを監視します。外部ネットワークをデータベースにリモート接続したい場合は、構成を変更する必要がありますMySQL がリモート接続を監視できるようにするためのファイルで、IP を固定するか、すべてのリモート IP をリッスンします。
ここではコマンドラインのテキストエディタを使う必要があります。私はvimを使っているので、vimを教えます。nanoなどを知っている人ならやり方がわかると思います。分からない人はフォローしてください。私の指示。 vim をインストールします:
sudo apt-get install vim -y
次に、vim を使用して mysqld.cnf
構成ファイルを開きます:
sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
行 bind-address = 127.0.0.1## を見つけます。 #:
127.0.0.1 の場合、ローカル接続のみを監視します。これを
0.0.0.0 に変更して、すべての接続を監視するか、指定した IP からの接続のみを許可するように変更することもできます。
Now vim is in reading mode.
i をクリックして編集モードに入り、上下左右のキーを使用してこの行を見つけます (下部に INSERT が表示されている場合は、それを示します)編集モードであることを示します。終了するには Esc を押し、読み取りに戻ります。モード):
を保存して終了します。 (:q
と入力すると、保存せずに終了します) mysql サービスを再起動して、変更を有効にします:
sudo service mysql restart
root アカウントにリモート接続の使用を許可します
mysql のデフォルト ローカルで使用できるのは root アカウントのみです。root アカウントをリモートで使用できるように変更する必要があります (他のアカウントは試していませんが、原理は同じです)。まず mysql:
mysql -u root -p

mysql
データベースを選択します: <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class='brush:php;toolbar:false;'>use mysql;</pre><div class="contentsignin">ログイン後にコピー</div></div>
アカウントのホスト権限を表示します:
select user, host from user;
が localhost
の場合、ローカルでの使用のみが許可されます。リモートで使用するには、%
に変更します: <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class='brush:php;toolbar:false;'>update user set host=&#39;%&#39; where user=&#39;root&#39;;</pre><div class="contentsignin">ログイン後にコピー</div></div>
mysql を終了します。
ubuntu に付属のファイアウォールのステータスを確認します
sudo ufw status
の場合は、ファイアウォールが有効になっていないことを意味します。それなら心配しないでください。ファイアウォールの目的は何ですか? 私自身の理解では、ファイアウォールが有効になっている場合、サーバー上のすべてのポートはデフォルトで接続が禁止されます。次のように、許可したポートのみが接続を許可されます。
所以如果防火墙开了,那要么把防火墙直接关了:
sudo ufw disable
要么添加一条规则让防火墙放行3306端口(mysql的默认端口):
sudo ufw allow 3306
检查云服务器厂商的防火墙状态
打开云服务器的后台管理页面,找到防火墙:
云服务器厂商默认只开启几个最常用的端口,其他端口都是默认关闭的,所以也要在这里添加一条规则放行3306端口:
测试连接
随便找个数据库管理的软件测试一下:
以上がUbuntu に Mysql をインストールしてリモート接続を有効にする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











ビッグ データ構造の処理スキル: チャンキング: データ セットを分割してチャンクに処理し、メモリ消費を削減します。ジェネレーター: データ セット全体をロードせずにデータ項目を 1 つずつ生成します。無制限のデータ セットに適しています。ストリーミング: ファイルやクエリ結果を 1 行ずつ読み取ります。大きなファイルやリモート データに適しています。外部ストレージ: 非常に大規模なデータ セットの場合は、データをデータベースまたは NoSQL に保存します。

多くのユーザーにとって、Android TV ボックスをハッキングするのは気が遠くなるように思えます。しかし、開発者の Murray R. Van Luyn は、Broadcom チップが不足する中、Raspberry Pi に代わる適切な代替品を探すという課題に直面しました。アルムビアとの共同作業

MySQL クエリのパフォーマンスは、検索時間を線形の複雑さから対数の複雑さまで短縮するインデックスを構築することで最適化できます。 PreparedStatement を使用して SQL インジェクションを防止し、クエリのパフォーマンスを向上させます。クエリ結果を制限し、サーバーによって処理されるデータ量を削減します。適切な結合タイプの使用、インデックスの作成、サブクエリの使用の検討など、結合クエリを最適化します。クエリを分析してボトルネックを特定し、キャッシュを使用してデータベースの負荷を軽減し、オーバーヘッドを最小限に抑えます。

PHP で MySQL データベースをバックアップおよび復元するには、次の手順を実行します。 データベースをバックアップします。 mysqldump コマンドを使用して、データベースを SQL ファイルにダンプします。データベースの復元: mysql コマンドを使用して、SQL ファイルからデータベースを復元します。

MySQLテーブルにデータを挿入するにはどうすればよいですか?データベースに接続する: mysqli を使用してデータベースへの接続を確立します。 SQL クエリを準備します。挿入する列と値を指定する INSERT ステートメントを作成します。クエリの実行: query() メソッドを使用して挿入クエリを実行します。成功すると、確認メッセージが出力されます。

MySQL 8.4 (2024 年時点の最新の LTS リリース) で導入された主な変更の 1 つは、「MySQL Native Password」プラグインがデフォルトで有効ではなくなったことです。さらに、MySQL 9.0 ではこのプラグインが完全に削除されています。 この変更は PHP および他のアプリに影響します

PHP で MySQL ストアド プロシージャを使用するには: PDO または MySQLi 拡張機能を使用して、MySQL データベースに接続します。ストアド プロシージャを呼び出すステートメントを準備します。ストアド プロシージャを実行します。結果セットを処理します (ストアド プロシージャが結果を返す場合)。データベース接続を閉じます。

PHP を使用して MySQL テーブルを作成するには、次の手順が必要です。 データベースに接続します。データベースが存在しない場合は作成します。データベースを選択します。テーブルを作成します。クエリを実行します。接続を閉じます。
