MariaDB数据库中如何允许远程链接mysql并开放3306端口

8 篇文章 0 订阅
5 篇文章 0 订阅

🎈个人公众号:🎈 :✨✨ 可为编程 ✨✨ 🍟🍟
🔑个人信条:🔑 知足知不足 有为有不为 为与不为皆为可为🌵
🍉本篇简介:🍉 本片详细说明了MariaDB数据库中如何允许远程链接mysql并开放3306端口使用规则和注意要点,并给出具体操作实例,如有出入还望指正。

关注公众号【可为编程】回复【面试】领取最新面试题!!!

概述

MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可。开发这个分支的原因之一是:甲骨文公司收购了MySQL后,有将MySQL闭源的潜在风险,因此社区采用分支的方式来避开这个风险。

MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品。

MariaDB由MySQL的创始人麦克尔·维德纽斯主导开发,他早前曾以10亿美元的价格,将自己创建的公司MySQL卖给了SUN,此后,随着SUN被甲骨文收购,MySQL的所有权也落入Oracle的手中。

MariaDB名称来自麦克尔·维德纽斯的女儿玛丽亚(英语:Maria)的名字。

MariaDB直到5.5版本,均依照MySQL的版本。因此,使用MariaDB5.5的人会从MySQL5.5中了解到MariaDB的所有功能。从2012年11月12日起发布的10.0.0版开始,不再依照MySQL的版号。10.0.x版以5.5版为基础,加上移植自MySQL
5.6版的功能和自行开发的新功能。

在存储引擎方面,10.0.9版起使用XtraDB(名称代号为Aria)来代替MySQL的InnoDB。

MariaDB的API和协议兼容MySQL,另外又添加了一些功能,以支持本地的非阻塞操作和进度报告。

这意味着,所有使用MySQL的连接器、程序库和应用程序也将可以在MariaDB下工作。

在此基础上,由于担心甲骨文MySQL的一个更加封闭的软件项目,Fedora的计划在Fedora 19中的以MariaDB取代MySQL

MYSQL 相信大家都很清楚是什么了。那么mariadb是什么呢?

MariaDB数据库管理系统是MySQL的一个分支。是由MySQL之父Michael开发的。开发这个分支的原因之一是:甲骨文公司收购了MySQL后,有将MySQL闭源的潜在风险,因此社区采用分支的方式来避开这个风险。

第一步:首先查看端口是否打开

以下操作系统为Linux Debian

lsb_release -a 
No LSB modules are available.
Distributor ID:	Debian
Description:	Debian GNU/Linux 10 (buster)
Release:	10
Codename:	buster
 命令: netstat -an|grep 3306

显示效果如下,表示只支持本地访问3306端口,其他地址均访问不到。
在这里插入图片描述

第二步 修改配置文件

打开mysql配置文件:vi /etc/mysql/mysql.conf.d/mysqld.cnf
但是我是通过MariaDB数据库管理系统安装的mysql,版本如下:

mysql  Ver 15.1 Distrib 10.3.27-MariaDB, for debian-linux-gnu (x86_64) using readline 5.2

找了半天也没有找到对应的配置文件,然后我就挨个打开试了一下,终于皇天不负有心人,找到了。
在这个路径下面:/etc/mysql/mariadb.conf.d中包含一个名为50-server.cnf的文件,注销掉这个文件中的bind-address = 127.0.0.1
关注公众号【可为编程】回复【面试】领取最新面试题!!!

vim /etc/mysql/mysql.conf.d/mysqld.cnf/50-server.cnf
或者
vim /etc/mysql/mariadb.conf.d/50-server.cnf

在这里插入图片描述

第三步 重启mysql
sudo service mysqld restart

附加说明

在此之前我已经将mysql的root的host修改为% 允许所有地址通过密码访问:

MariaDB [mysql]> use mysql
MariaDB [mysql]> select host,user from user;

关注公众号【可为编程】回复【面试】领取最新面试题!!!
在这里插入图片描述
如果没有修改过root的所属host为127.0.0.1或者是localhost,所以通过以下命令进行修改:

MariaDB [mysql]>  grant all privileges on *.* to 'root'@'%' identified by 'xxxxx' with grant option;
MariaDB [mysql]> flush privileges;

xxx为你设置的mysql数据库密码,flush privileges;让权限立即生效。

经过以上操作就可以远程访问3306端口了。

欢迎感兴趣的小伙伴一起探讨学习知识,以上是个人的一些总结分享,如有错误的地方望各位留言指出,十分感谢。觉得有用的话别忘点赞、收藏、关注,手留余香! 😗 😗 😗

这里是一个真诚的***青年技术交流QQ群:761374713***,不管你是大学生、社畜、想学习变成的其他人员,欢迎大家加入我们,一起成长,一起进步,真诚的欢迎你,不管是技术,还是人生,还是学习方法。有道无术,术亦可求,有术无道,止于术。在这里插入图片描述

欢迎大家关注【可为编程】,成长,进步,编程,技术、掌握更多知识!
在这里插入图片描述

如果你想通过 MariaDB 连接其他数据库,你需要使用 MariaDB 的 FederatedX 存储引擎。FederatedX 存储引擎允许 MariaDB 服务器连接到远程服务器上的表,就像这些表是本地表一样。 以下是在 MariaDB 使用 FederatedX 存储引擎连接到其他数据库的步骤: 1. 确保 FederatedX 存储引擎已经安装。在 MariaDB ,可以使用以下命令来检查 FederatedX 存储引擎是否可用: ``` SHOW ENGINES; ``` 如果 FederatedX 存储引擎没有被禁用,它应该在输出显示为 “YES”。 2. 创建一个指向远程数据库的 FederatedX 表。假设你要连接到名为 “other_database” 的远程数据库,并使用名为 “table_name” 的表,可以使用以下命令创建 FederatedX 表: ``` CREATE TABLE federated_table ( id INT(11) NOT NULL AUTO_INCREMENT, column1 VARCHAR(50), column2 INT(11), PRIMARY KEY (id) ) ENGINE=FEDERATED CONNECTION='mysql://user:password@remote_host:port/other_database/table_name'; ``` 在上面的命令,你需要将 “user” 和 “password” 替换为远程数据库的用户名和密码,将 “remote_host” 替换为远程数据库的 IP 地址或主机名,将 “port” 替换为远程数据库端口号,将 “other_database” 替换为远程数据库的名称,将 “table_name” 替换为要连接的表的名称。这个表现在已经被创建在你的本地 MariaDB 服务器上了。 3. 现在你可以像使用本地表一样使用 FederatedX 表。例如,可以使用以下命令来查询 FederatedX 表: ``` SELECT * FROM federated_table; ``` 请注意,查询 FederatedX 表可能会比查询本地表慢,因为数据需要通过网络传输。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

NotNull1

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值