Heim >Datenbank >MySQL-Tutorial >So installieren Sie MySQL in Ubuntu, um Remoteverbindungen zu ermöglichen
Der verwendete Cloud-Server ist Baidu Cloud (dasselbe gilt für andere Cloud-Server. Das System ist Ubuntu 20.04 LTS, MySQL Version 8.0+. Die Voraussetzung ist die Entwicklung unter Windows Sie können jederzeit eine Remote-Verbindung zu MySQL auf dem Lese-/Schreibserver herstellen.
Verwenden Sie apt-get, um MySQL zu installieren
Aktualisieren Sie zuerst das apt-Repository:
sudo apt-get updateVon Da ich übrigens nicht weiß, welche Konten Sie verwenden, kann ich nicht herausfinden, welche Befehle höhere Berechtigungen erfordern, also habe ich allen meinen Befehlen
sudo
hinzugefügt, damit es egal ist, wer kopiert und fügt sie ein, sie können sie ohne Berechtigungsprobleme direkt verwenden. sudo apt-get install mysql-server -yAn diesem Punkt wurde MySQL automatisch installiert und gestartet. Sie können einen Blick darauf werfen:
sudo service mysql status
Derzeit ist für das MySQL-Root-Konto kein Passwort festgelegt. Sie können sich direkt mit dem Befehl mysql
anmelden: sudo
了,这样不管是谁复制粘贴都能直接用,不会出现权限问题。
然后安装mysql-server:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password by 'mynewpassword';
到这一步其实mysql就已经安完了并且自动启动了,可以看一下:
sudo apt-get install vim -y
此时mysql的root账户没有设置密码,可以直接用mysql
指令登录:
设置一下root的密码(mynewpassword
部分改成你自己要设置的密码):
sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
退出,输入mysql
指令发现不能直接登录了:
目前为止可以直接在服务器上用mysql了。
默认情况下,MySQL 数据库仅监听本地连接,如果想让外网远程连接到数据库,我们需要修改配置文件,让 MySQL 可以监听远程固定 ip 或者监听所有远程 ip。
这里需要使用一个命令行文本编辑器,我用的vim所以就教一下vim,你们要是会nano或者别的自然知道该怎么弄,要是听不懂就照我的来。安装vim:
sudo service mysql restart
然后用vim打开mysqld.cnf
配置文件:
mysql -u root -p
找到bind-address = 127.0.0.1
这一行:
这个值是127.0.0.1
的时候只监听本地连接,改成0.0.0.0
可以监听所有连接,或者也可以改成仅允许指定ip连接都可以。
现在vim是阅读模式,按一下i
进入编辑模式,然后用上下左右键定位到这行(最下面显示INSERT的时候表明处于编辑模式,按Esc可退出返回到阅读模式):
改完之后按Esc退出编辑模式,然后输入:wq
保存退出。(若输入:q
则退出但不保存)
重启mysql service使刚才的修改生效:
use mysql;
mysql默认只允许root账号在本地使用,需要修改一下允许远程使用root账号(没试过其他账号的情况,但原理一致)。先登录mysql:
select user, host from user;
输入密码,登录。
然后选择mysql
数据库:
update user set host='%' where user='root';
查看账号的主机权限:
sudo ufw status
host
处为localhost
时只允许本地使用,改成%
即可远程使用:
sudo ufw disable
退出mysql。
sudo ufw allow 3306
如果是inactive
mynewpassword-Teil des Passworts, das Sie festlegen möchten): #🎜🎜#rrreee#🎜🎜#<img src="https://img.php.cn/%20upload/article/000/887/227/168549176280548.%20png" alt="So installieren Sie MySQL in Ubuntu, um eine Remote-Verbindung zu ermöglichen">#🎜🎜##🎜🎜#Beenden Sie, geben Sie den <code>mysql
ein Befehl und stellen Sie fest, dass Sie sich nicht direkt anmelden können: #🎜🎜##🎜🎜##🎜🎜##🎜🎜#Derzeit können Sie MySQL direkt auf dem Server verwenden. #🎜🎜##🎜🎜#Bearbeiten Sie die Konfigurationsdatei, um Remote-Verbindungen zu überwachen.#🎜🎜##🎜🎜#Standardmäßig lauscht die MySQL-Datenbank nur auf lokale Verbindungen. Wenn Sie möchten, dass das externe Netzwerk eine Remote-Verbindung zur Datenbank herstellt Sie müssen die Konfigurationsdatei ändern, damit MySQL auf eine feste Remote-IP oder alle Remote-IPs hören kann. mysqld.cnf
: #🎜🎜#rrreee#🎜🎜#Finden Sie bind-address = 127.0. 0,1Diese Zeile: #🎜🎜##🎜🎜#<img src="https://img.php.cn/upload/article/000/887/227/168549176245033.png" alt="Anleitung Installieren Sie Mysql auf Ubuntu. Aktivieren Sie Remote-Verbindungen. code>, um alle Verbindungen zu überwachen, oder Sie können es ändern, um nur Verbindungen von bestimmten IPs zuzulassen. <br/>Jetzt befindet sich vim im Lesemodus. Klicken Sie auf <code>i
, um in den Bearbeitungsmodus zu gelangen, und verwenden Sie dann die Aufwärts-, Abwärts-, Links- und Rechts-Tasten, um diese Zeile zu finden (wenn unten EINFÜGEN angezeigt wird). es zeigt an, dass es sich im Bearbeitungsmodus befindet. Drücken Sie Esc, um den Lesemodus zu verlassen): #🎜🎜##🎜🎜##🎜🎜##🎜🎜#Hostberechtigungen des Kontos anzeigen: #🎜🎜#rrreee#🎜🎜##🎜🎜##🎜🎜# host
ist Nur die lokale Verwendung ist zulässig, wenn localhost
für die Remote-Verwendung verwendet wird: #🎜🎜#rrreee#🎜🎜##🎜🎜##🎜🎜# Beenden Sie MySQL. #🎜🎜##🎜🎜#Überprüfen Sie den Firewall-Status, der mit Ubuntu geliefert wird#🎜🎜#rrreee#🎜🎜##🎜🎜##🎜🎜#Wenn es inaktiv
ist, bedeutet das, dass die Firewall nicht aktiviert ist Mach dir darüber keine Sorgen. Was ist der Zweck der Firewall? Wenn die Firewall aktiviert ist, ist die Verbindung aller Ports auf dem Server standardmäßig verboten. Nur die Ports, die Sie zulassen, dürfen eine Verbindung herstellen, ähnlich wie folgt: #🎜🎜#
所以如果防火墙开了,那要么把防火墙直接关了:
sudo ufw disable
要么添加一条规则让防火墙放行3306端口(mysql的默认端口):
sudo ufw allow 3306
打开云服务器的后台管理页面,找到防火墙:
云服务器厂商默认只开启几个最常用的端口,其他端口都是默认关闭的,所以也要在这里添加一条规则放行3306端口:
随便找个数据库管理的软件测试一下:
Das obige ist der detaillierte Inhalt vonSo installieren Sie MySQL in Ubuntu, um Remoteverbindungen zu ermöglichen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!