Maison  >  Article  >  base de données  >  Comment installer Mysql dans Ubuntu pour activer les connexions à distance

Comment installer Mysql dans Ubuntu pour activer les connexions à distance

WBOY
WBOYavant
2023-05-31 08:09:151507parcourir

Contexte

Le serveur cloud utilisé est Baidu Cloud (il en va de même pour les autres serveurs cloud). Le système est Ubuntu 20.04 LTS, Mysql version 8.0+. peut être distant à tout moment. Connectez-vous à Mysql sur le serveur de lecture-écriture

Établir une connexion à distance au serveur

Vous pouvez utiliser le client ssh ou la console web fournie. par le fabricant du serveur cloud, tant que vous pouvez vous connecter. Allez simplement sur le serveur

Comment installer Mysql dans Ubuntu pour activer les connexions à distance

Au fait, je voudrais personnellement recommander un bon- client ssh attrayant et facile à utiliser : NextSSH

Utilisez apt-get pour installer mysql

Première mise à jour du référentiel apt :

sudo apt-get update

By d'ailleurs, comme je ne sais pas quels comptes vous utilisez, je n'arrive pas à déterminer quelles commandes nécessitent des autorisations plus élevées, j'ai donc ajouté sudo à toutes mes commandes, de sorte que peu importe qui copie. et les colle, ils peuvent les utiliser directement sans problèmes d'autorisation.
Ensuite, installez mysql-server : sudo了,这样不管是谁复制粘贴都能直接用,不会出现权限问题。
然后安装mysql-server:

sudo apt-get install mysql-server -y

到这一步其实mysql就已经安完了并且自动启动了,可以看一下:

sudo service mysql status

Comment installer Mysql dans Ubuntu pour activer les connexions à distance

设置root密码

此时mysql的root账户没有设置密码,可以直接用mysql指令登录:

Comment installer Mysql dans Ubuntu pour activer les connexions à distance

设置一下root的密码(mynewpassword部分改成你自己要设置的密码):

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

Comment installer Mysql dans Ubuntu pour activer les connexions à distance

退出,输入mysql指令发现不能直接登录了:

Comment installer Mysql dans Ubuntu pour activer les connexions à distance

目前为止可以直接在服务器上用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这一行:

Comment installer Mysql dans Ubuntu pour activer les connexions à distance

这个值是127.0.0.1的时候只监听本地连接,改成0.0.0.0可以监听所有连接,或者也可以改成仅允许指定ip连接都可以。
现在vim是阅读模式,按一下i进入编辑模式,然后用上下左右键定位到这行(最下面显示INSERT的时候表明处于编辑模式,按Esc可退出返回到阅读模式):

Comment installer Mysql dans Ubuntu pour activer les connexions à distance

改完之后按Esc退出编辑模式,然后输入:wq保存退出。(若输入:q则退出但不保存)
重启mysql service使刚才的修改生效:

sudo service mysql restart

允许root账号使用远程连接

mysql默认只允许root账号在本地使用,需要修改一下允许远程使用root账号(没试过其他账号的情况,但原理一致)。先登录mysql:

Comment installer Mysql dans Ubuntu pour activer les connexions à distance

mysql -u root -p

输入密码,登录。
然后选择mysql数据库:

use mysql;

Comment installer Mysql dans Ubuntu pour activer les connexions à distance

查看账号的主机权限:

select user, host from user;

Comment installer Mysql dans Ubuntu pour activer les connexions à distance

host处为localhost时只允许本地使用,改成%即可远程使用:

update user set host='%' where user='root';

Comment installer Mysql dans Ubuntu pour activer les connexions à distance

退出mysql。

检查ubuntu自带的防火墙状态

sudo ufw status

Comment installer Mysql dans Ubuntu pour activer les connexions à distance

如果是inactive

sudo ufw disable

À ce stade, mysql a été installé et démarré automatiquement. Vous pouvez jeter un œil : #🎜🎜#
sudo ufw allow 3306
#🎜🎜#Comment installer Mysql dans Ubuntu pour activer la connexion à distance#🎜🎜##🎜🎜#SET ROOT PASSWORD# 🎜🎜##🎜🎜#Pour le moment, le compte root mysql n'a pas de mot de passe défini. Vous pouvez vous connecter directement avec la commande mysql : #🎜🎜##🎜🎜#. Comment installer Mysql dans Ubuntu pour activer la connexion à distance#🎜🎜## 🎜🎜#Définissez le mot de passe root (partie mynewpassword du mot de passe que vous souhaitez définir) : #🎜🎜#rrreee#🎜🎜#<img src="https://img.php.cn/%20upload/article/000/887/227/168549176280548.%20png" alt="Comment installer Mysql dans Ubuntu pour activer la connexion à distance">#🎜🎜##🎜🎜#Quitter, entrez le <code>mysql commande et constatez que vous ne pouvez pas vous connecter directement : #🎜🎜##🎜🎜##🎜🎜##🎜🎜#Actuellement, vous pouvez désormais utiliser MySQL directement sur le serveur. #🎜🎜##🎜🎜#Modifiez le fichier de configuration pour surveiller les connexions à distance#🎜🎜##🎜🎜#Par défaut, la base de données MySQL n'écoute que les connexions locales. Si vous souhaitez que le réseau externe se connecte à la base de données à distance, nous. Vous devez modifier le fichier de configuration pour que MySQL puisse écouter une IP distante fixe ou toutes les IP distantes.
Vous devez utiliser un éditeur de texte en ligne de commande ici. J'utilise vim, donc je vais vous apprendre vim. Si vous connaissez nano ou d'autres choses, vous saurez comment le faire. suivez mes instructions. Installez vim : #🎜🎜#rrreee#🎜🎜# Utilisez ensuite vim pour ouvrir le fichier de configuration mysqld.cnf : #🎜🎜#rrreee#🎜🎜#Find bind-address = 127.0. 0.1Cette ligne : #🎜🎜##🎜🎜#<img src="https://img.php.cn/upload/article/000/887/227/168549176245033.png" alt="Comment installer Mysql sur Ubuntu Activer les connexions à distance">#🎜🎜##🎜🎜#Lorsque cette valeur est <code>127.0.0.1, elle surveille uniquement les connexions locales. Remplacez-la par 0.0.0.0 code> pour surveiller toutes les connexions, ou vous pouvez le modifier pour autoriser uniquement les connexions IP spécifiées. <br>Maintenant, vim est en mode lecture. Cliquez sur <code>i pour entrer en mode édition, puis utilisez les touches haut, bas, gauche et droite pour localiser cette ligne (lorsque INSERT est affiché en bas, cela indique qu'il est en mode édition. Appuyez sur Echap pour quitter et revenir en mode lecture) : #🎜🎜##🎜🎜#Ubuntu Comment installer Mysql activer la connexion à distance#🎜🎜##🎜🎜#Après avoir apporté des modifications, appuyez sur Echap pour quitter le mode d'édition, puis entrez :wq pour enregistrer et quitter. (Si vous entrez <code>:q, vous quitterez sans enregistrer)
Redémarrez le service MySQL pour que les modifications prennent effet : #🎜🎜#rrreee#🎜🎜#Autoriser le compte root à utiliser connexions à distance#🎜🎜# #🎜🎜#Mysql permet uniquement d'utiliser le compte root en local par défaut. Il est à modifier pour permettre l'utilisation du compte root à distance (je n'ai pas essayé d'autres comptes, mais le principe est le même). même). Connectez-vous d'abord à MySQL : #🎜🎜##🎜🎜#Ubuntu Comment installer Mysql pour activer la connexion à distance#🎜🎜#rrreee#🎜🎜#Entrez votre mot de passe pour vous connecter.
Puis sélectionnez la base de données mysql : #🎜🎜#rrreee#🎜🎜#Comment installer Mysql dans Ubuntu pour activer la connexion à distance#🎜🎜##🎜🎜#Afficher les autorisations d'hôte du compte : #🎜🎜#rrreee#🎜🎜#Comment installer Mysql dans Ubuntu pour activer la connexion à distance#🎜🎜##🎜🎜# host est Seule l'utilisation locale est autorisée lorsque localhost est utilisé. Remplacez-le par % pour une utilisation à distance : #🎜🎜#rrreee#🎜🎜#Comment installer Mysql dans Ubuntu pour activer la connexion à distance#🎜🎜##🎜🎜# Quittez MySQL. #🎜🎜##🎜🎜#Vérifiez l'état du pare-feu fourni avec Ubuntu#🎜🎜#rrreee#🎜🎜#Comment installer Mysql dans Ubuntu pour activer la connexion à distance#🎜🎜##🎜🎜#S'il est inactif, cela signifie que le pare-feu n'est pas activé, donc ne vous inquiétez pas pour ça. Quel est le but du pare-feu ? D'après ma propre compréhension, si le pare-feu est activé, tous les ports du serveur ne peuvent pas se connecter par défaut. Seuls les ports que vous autorisez sont autorisés à se connecter, comme ceci : #🎜🎜#.

Comment installer Mysql dans Ubuntu pour activer les connexions à distance

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

sudo ufw disable

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

sudo ufw allow 3306

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

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

Comment installer Mysql dans Ubuntu pour activer les connexions à distance

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

Comment installer Mysql dans Ubuntu pour activer les connexions à distance

测试连接

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

Comment installer Mysql dans Ubuntu pour activer les connexions à distance

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer