【MySQL】Linux配置MySQL Windows远程连接

一、MySQL介绍

MySQL 是一款开源的关系型数据库管理系统(RDBMS),由瑞典公司 MySQL AB 开发,后被 Sun 公司收购,最终归属于 Oracle 公司。它凭借开源免费、高性能、易扩展等特点,成为全球最流行的数据库之一,广泛应用于 Web 开发、企业级应用、嵌入式系统等场景。

通常,我们需要将MySQL部署在服务端,然后在通过远程连接MySQL来查询和修改数据,下面介绍在Ubuntu下部署MySQL,并且在Windows下通过MySQL Workbench客户端远程连接数据库

二、Linux配置MySQL

如果没有下载MySQL,可以通过下述命令下载MySQL数据库

shell 复制代码
sudo apt update
sudo apt install mysql-server

下载后,我们启动mysql

shell 复制代码
sudo service mysql start

查看mysql运行状态

shell 复制代码
sudo service mysql status

下面的情况就是正常启动了mysql

查看mysql版本

shell 复制代码
mysql --version

下述的命令用于查询我们mysql下的用户信息,主要查询是否支持远程连接登录

sql 复制代码
SELECT user,authentication_string,plugin,host FROM mysql.user;
  • 如果是host列为%就代表支持任意地址连接,如果是localhost仅仅当前主机可以连接,即本地连接
  • 目前只有root用户可以支持远程连接,我们创建一个新用户

创建liuhang用户,设置为通过密码验证登录

sql 复制代码
CREATE USER 'liuhang'@'localhost' IDENTIFIED BY 'password';

修改用户密码,这里密码设定有限制,要有大小写字幕、符号和数字

sql 复制代码
ALTER USER 'liuhang'@'%' IDENTIFIED BY 'Liuhang@123456';

再次查看登录mysql的方式,此时创建好了liuhang用户,但默认只支持本地登录

sql 复制代码
SELECT user,authentication_string,plugin,host FROM mysql.user;

设置创建的用户的登录mysql的方式为可远程登录,即修改host字段为%

sql 复制代码
update user set host='%' where user='liuhang' and host='localhost';

再次查看,已经支持远程登录了

给予用户最大权限,这里是为了测试,实际权限可以根据自己的需求制定

sql 复制代码
GRANT ALL PRIVILEGES ON *.* TO 'liuhang'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;

修改完成后退出mysql,然后重新启动

sql 复制代码
quit;

重启启动mysql服务

shell 复制代码
sudo service mysql restart

三、Windows 安装MySQL客户端

MySQL客户端有很多,比如Navicat、MySQL Workbench、dataGrip等等,我们这里选择安装MySQL Workbench,安装起来比较简单

下载mysql workbench:https://www.mysql.com/products/workbench/

点击+号添加一个配置

配置远程连接,设置我们Ubuntu的IP,端口就是默认的3306,保证我们和服务器可以连接

点击OK,然后点击对应的配置,进入连接

等待一会后,要求我们输入密码,输入正确的密码即可

在mysql workbench中创建一张空表,插入一条数据

sql 复制代码
create database mydb;
use mydb;

CREATE TABLE test_t (
    id INT,
    name VARCHAR(50)
);

insert into test_t values(1,"liuhang");

在Ubuntu进入mysql,查看到插入了这一条数据,代表连接成功了,并且有相应的权限

sql 复制代码
select * from test_t;

更多资料:https://github.com/0voice

相关推荐
Zevalin爱灰灰7 分钟前
Linux入门第一部分(Ubuntu入门篇) 第二章 浅尝Ubuntu(二)
linux·嵌入式·1024程序员节
泡海椒8 分钟前
JQuick-SQL REST API 数据接入:应用层调用接口后注册分析表
数据库·sql·1024程序员节
Random Glow38 分钟前
聚簇索引 vs 二级索引:回表、覆盖索引、索引下推
数据库·mysql·性能优化·innodb·1024程序员节·索引优化
北京中科新远科技1 小时前
高速接口兼容排查实战:OSFP、QSFP112与QSFP56如何逐层验证
linux·运维·网络
Ruiery1 小时前
Linux 6.6内核 CPU 深度解析(零):x86 内核引导协议 — 从 bootloader 到 main()
linux·运维·服务器
Ruiery1 小时前
Linux 6.6内核 CPU 深度解析(十六):x86 保护机制 — 从 ring 到页表的权限防线
linux·运维·服务器
qetfw1 小时前
Linux 文件清理:find、mtime 与安全传参验证
linux·shell·1024程序员节
可乐_不渴2 小时前
【Linux】 项目自动化构建工具makefile&& 版本管理Git&&第一个程序
linux·git·自动化·1024程序员节
要开心吖ZSH2 小时前
一次线上锁风暴复盘:号源表大范围 DELETE 的隐患与分批删除改造
数据库·mysql·行锁·1024程序员节·间隙锁·lockwaittimeout