ホームページ >データベース >mysql チュートリアル >Ubuntu に Mysql をインストールしてリモート接続を有効にする方法
使用したクラウド サーバーは Baidu Cloud (他のクラウド サーバーにも同じことが当てはまります)、システムは Ubuntu 20.04 LTS、Mysql バージョン 8.0 です。要件は Windows 上で開発することです。いつでも読み取りおよび書き込みサーバーに接続できます。サーバー上の Mysql
クラウド サーバーの製造元が提供する SSH クライアントまたは Web コンソールを使用できます。 、サーバーに接続できる限り
ちなみに、見た目が良くて使いやすい ssh クライアントをお勧めします: NextSSH
最初に apt ウェアハウスを更新します:
sudo apt-get update
ちなみに、どのアカウントを使用しているかわからないので、できません。どのコマンドに高い権限が必要かわからないので、すべてのコマンドに sudo
を追加しました。これにより、コピーして貼り付けることができる人であれば、権限の問題なく直接使用できるようになります。
次に、mysql-server をインストールします:
sudo apt-get install mysql-server -y
このステップでは、mysql がインストールされ、自動的に起動されます。ご覧ください:
sudo service mysql status
現時点では、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
mysql -u root -pにログインします。パスワードを入力してログインします。 次に、
mysql
データベースを選択します: <pre class="brush:bash;">use mysql;</pre>
アカウントのホスト権限を表示します:
select user, host from user;host
が localhost
の場合、ローカルでの使用のみが許可されます。リモートで使用するには、%
に変更します: <pre class="brush:sql;">update user set host=&#39;%&#39; where user=&#39;root&#39;;</pre>
mysql を終了します。
ubuntu に付属のファイアウォールのステータスを確認します
sudo ufw statusinactive
の場合は、ファイアウォールが有効になっていないことを意味します。それなら心配しないでください。ファイアウォールの目的は何ですか? 私自身の理解では、ファイアウォールが有効になっている場合、サーバー上のすべてのポートはデフォルトで接続が禁止されます。次のように、許可したポートのみが接続を許可されます。
所以如果防火墙开了,那要么把防火墙直接关了:
sudo ufw disable
要么添加一条规则让防火墙放行3306端口(mysql的默认端口):
sudo ufw allow 3306
打开云服务器的后台管理页面,找到防火墙:
云服务器厂商默认只开启几个最常用的端口,其他端口都是默认关闭的,所以也要在这里添加一条规则放行3306端口:
随便找个数据库管理的软件测试一下:
以上がUbuntu に Mysql をインストールしてリモート接続を有効にする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。