ホームページ >データベース >mysql チュートリアル >Ubuntu に Mysql をインストールしてリモート接続を有効にする方法

Ubuntu に Mysql をインストールしてリモート接続を有効にする方法

WBOY
WBOY転載
2023-05-31 08:09:151619ブラウズ

背景

使用したクラウド サーバーは Baidu Cloud (他のクラウド サーバーにも同じことが当てはまります)、システムは Ubuntu 20.04 LTS、Mysql バージョン 8.0 です。要件は Windows 上で開発することです。いつでも読み取りおよび書き込みサーバーに接続できます。サーバー上の Mysql

サーバーへのリモート接続を確立します

クラウド サーバーの製造元が提供する SSH クライアントまたは Web コンソールを使用できます。 、サーバーに接続できる限り

Ubuntu に Mysql をインストールしてリモート接続を有効にする方法

ちなみに、見た目が良くて使いやすい 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

Ubuntu に Mysql をインストールしてリモート接続を有効にする方法

root パスワードを設定します

現時点では、mysql root アカウントにはパスワードが設定されていません。mysql コマンドを使用して直接ログインできます:

Ubuntu に Mysql をインストールしてリモート接続を有効にする方法

root パスワードを設定します (mynewpassword の部分を設定したいパスワードに変更します):

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password by 'mynewpassword';

Ubuntu に Mysql をインストールしてリモート接続を有効にする方法

終了し、 mysql コマンドを実行すると、直接ログインできないことがわかります。

Ubuntu に 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## を見つけます。 #:

Ubuntu に Mysql をインストールしてリモート接続を有効にする方法

この値が

127.0.0.1 の場合、ローカル接続のみを監視します。これを 0.0.0.0 に変更して、すべての接続を監視するか、指定した IP からの接続のみを許可するように変更することもできます。 Now vim is in reading mode.
i をクリックして編集モードに入り、上下左右のキーを使用してこの行を見つけます (下部に INSERT が表示されている場合は、それを示します)編集モードであることを示します。終了するには Esc を押し、読み取りに戻ります。モード):

Ubuntu に Mysql をインストールしてリモート接続を有効にする方法

変更を加えた後、Esc を押して編集モードを終了し、## を入力してください#:wq

を保存して終了します。 (:q と入力すると、保存せずに終了します) mysql サービスを再起動して、変更を有効にします:

sudo service mysql restart

root アカウントにリモート接続の使用を許可します

mysql のデフォルト ローカルで使用できるのは root アカウントのみです。root アカウントをリモートで使用できるように変更する必要があります (他のアカウントは試していませんが、原理は同じです)。まず mysql:

mysql -u root -p
Ubuntu に Mysql をインストールしてリモート接続を有効にする方法 にログインします。パスワードを入力してログインします。

次に、

mysql
データベースを選択します: <pre class="brush:bash;">use mysql;</pre>

Ubuntu に Mysql をインストールしてリモート接続を有効にする方法アカウントのホスト権限を表示します:

select user, host from user;

Ubuntu に Mysql をインストールしてリモート接続を有効にする方法

host

localhost の場合、ローカルでの使用のみが許可されます。リモートで使用するには、% に変更します: <pre class="brush:sql;">update user set host=&amp;#39;%&amp;#39; where user=&amp;#39;root&amp;#39;;</pre>

Ubuntu に Mysql をインストールしてリモート接続を有効にする方法mysql を終了します。

ubuntu に付属のファイアウォールのステータスを確認します

sudo ufw status

Ubuntu に Mysql をインストールしてリモート接続を有効にする方法

inactive

の場合は、ファイアウォールが有効になっていないことを意味します。それなら心配しないでください。ファイアウォールの目的は何ですか? 私自身の理解では、ファイアウォールが有効になっている場合、サーバー上のすべてのポートはデフォルトで接続が禁止されます。次のように、許可したポートのみが接続を許可されます。

Ubuntu に Mysql をインストールしてリモート接続を有効にする方法

所以如果防火墙开了,那要么把防火墙直接关了:

sudo ufw disable

要么添加一条规则让防火墙放行3306端口(mysql的默认端口):

sudo ufw allow 3306

检查云服务器厂商的防火墙状态

打开云服务器的后台管理页面,找到防火墙:

Ubuntu に Mysql をインストールしてリモート接続を有効にする方法

云服务器厂商默认只开启几个最常用的端口,其他端口都是默认关闭的,所以也要在这里添加一条规则放行3306端口:

Ubuntu に Mysql をインストールしてリモート接続を有効にする方法

测试连接

随便找个数据库管理的软件测试一下:

Ubuntu に Mysql をインストールしてリモート接続を有効にする方法

以上がUbuntu に Mysql をインストールしてリモート接続を有効にする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はyisu.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。