【MySQL】在Ubuntu20.04服务器上安装MySQL并使用Navicat远程连接
创始人
2025-01-18 00:03:24
0

一、安装MySQL

  • 在安装目录下使用下述命令更新软件包,无法更新记得加sudo
apt-get upgrade apt-get update 
  • 安装MySQL
apt-get install mysql-server 
  • 看网上的安装版本是会提示设置密码,但是在安装期间并没有弹出,因此默认密码为服务器登录密码

二、启动MySQL

  • 开启MySQL服务
service mysql start 
  • 查看MySQL状态
service mysql status 
  • 确认是否启动成功
netstat -tap | grep mysql 
  • 进入MySQL Shell界面,无法进入使用sudo即可
mysql -u root -p 

三、创建用户限制指定IP访问

  • MySQL8.0后的版本IP访问方式已更改,找了好多资料才找到正确的创建方式。
  • 查看当前数据库的登录用户权限表
use mysql; select Host,User from user; 
  • 创建用户并设置密码
CREATE USER 'test'@'192.XXX.XXX.XX' IDENTIFIED WITH mysql_native_password BY '123@#$'; 

其中:

  • test 为数据库用户名
  • 192.XXX.XXX.XX 为远程连接的IP地址,即可访问IP地址
  • mysql_native_password 为加密规则
  • 123@#$ 为数据库登录密码

  • 给创建的账号加权限
GRANT ALL PRIVILEGES ON *.* TO 'test'@'192.XXX.XXX.XX'; 

指定权限则将ALL改为SELECT DELETE UPDATE INSERT等权限即可

  • 一般来说,使用同一账号管理较为方便,因此需要设置新的IP地址, 则重复上面的步骤,用户名和密码均不需要更改,即账号、密码都相同,可访问的IP不同

  • 刷新MySQL用户权限,要刷新才能使修改生效
FLUSH PRIVILEGES; 
  • 创建错误,可使用下述命令删除
drop user 'test'@'192.XXX.XXX.XX'; 

四、使用Navicat远程连接

  • 具体步骤:菜单栏 —— 连接 ——MySQL

在这里插入图片描述

  • 点击测试连接即可连接成功

五、Navicat无法连接服务器上的MSQL

  • 使用常规方式连接,显示如下错误

在这里插入图片描述

  • 使用SSH方式连接,显示如下错误
Lost connection to server at "handshake: reading initial communication packet" 

修改思路如下:查看防火墙 - ping通 - 查看端口 - 设置数据库访问域

5.1 防火墙排查

  • 查看防火墙规则
sudo iptables -L -n 
  • 本来想添加规则,发现无法重启防火墙规则库,一直显示如下报错
Unit iptables.service could not be found. 
  • 参考博主解法:解决 Ubuntu20.04 中的 Unit iptables.service not found 及 Unit file iptables.service does not exist 问题

  • 原因:Ubuntu20.04中使用iptables-persistent进行管理,其能保存安全策略并在重新开机时读取。

  • 下载软件包

apt-get install iptables-persistent 
  • 查看iptables状态,此时防火墙已开启
systemctl status iptables 

在这里插入图片描述

  • 开启服务
systemctl start iptables 
  • 关闭服务
systemctl stop iptables 

【附:如何将端口与防火墙配合开放还待学习…因此,直接查看防火墙状态,关闭防火墙了】

5.2 查看端口是否能连接

  • 使用本机(windows)的powershell查看是否可以连接3306端口
Test-NetConnection -ComputerName 192.168.XXX.XX -Port 3306 

在这里插入图片描述

  • 显然,结果是False
  • 在服务器上查看端口是否开放
netstat -nltp | grep mysql 
  • 结果显示,Local Address的地址为127.0.0.1,即该端口对本地可见,对外不可见
Proto Recv-Q Send-Q   Local Address   Foreign Address State   PID/Program name tcp        0      0   127.0.0.1:3306     0.0.0.0:*    LISTEN   2919/mysqld 
  • 开启对外端口,输入下述命令,把文件中bind-address注释掉
vim /etc/mysql/mysql.conf.d/mysqld.cnf 
  • 重启MySQL

5.3 数据库有没有添加访问域

  • 出现错误如下,显然是没有权限访问MySQL
 Host '192.XXX.XXX.XX' is not allowed to connect to this MySQL server. 
  • 根据第三点查看是否设置了对应的访问域,没有添加即可

相关内容

热门资讯

据统计!wepoker手机版辅... 据统计!wepoker手机版辅助,新超圣辅助靠谱不,积累教程(今日头条)新超圣辅助靠谱不是不是有人用...
五分钟辅助!掌中乐辅助(辅助挂... 五分钟辅助!掌中乐辅助(辅助挂)果然是真的辅助神器(确实有挂)1、玩家可以在掌中乐辅助透视最简单三个...
现场直击!wpk透视辅助靠谱吗... 现场直击!wpk透视辅助靠谱吗,微信小程序哥哥打大a辅助器,手段教程(果真有挂)1、微信小程序哥哥打...
第二分钟辅助!新星游辅助软件试... 第二分钟辅助!新星游辅助软件试用版(辅助挂)都是真的是有辅助app(有挂教程)新星游辅助软件试用版破...
据悉!wpk俱乐部辅助器,广西... 据悉!wpk俱乐部辅助器,广西老友修改器,策略教程(今日头条)1、打开软件启动之后找到中间准星的标志...
第3分钟辅助!微信闲来辅助神器... 第3分钟辅助!微信闲来辅助神器app(辅助挂)本来真的是有辅助插件(有挂头条)1、起透看视 微信闲来...
2026版总结!wpk透视插件... 2026版总结!wpk透视插件,老k麻将辅助器,方式教程(有挂规律)1、全新机制【老k麻将辅助器ai...
教学辅助挂!菠萝辅助器免费版的... 教学辅助挂!菠萝辅助器免费版的特点,赣牌圈插件,积累教程(有挂解惑)1、赣牌圈插件透视辅助软件激活码...
4分钟辅助!浙江游戏茶苑脚本修... 4分钟辅助!浙江游戏茶苑脚本修改(辅助挂)其实存在有辅助工具(果真有挂)1、上手简单,内置详细流程视...
第六分钟辅助!斗城麻将微信有没... 第六分钟辅助!斗城麻将微信有没有挂(辅助挂)一贯存在有辅助方法(发现有挂)运斗城麻将微信有没有挂辅助...