不懂技术也能搞定:mysql虚拟主机搭建教程!

吉云

行,今天得空,就来唠唠前两天折腾那个MySQL虚拟主机的事儿。也不是啥新鲜技术,就是想让我的MySQL数据库能像个独立的主机一样,让别的机器或者程序能直接连上来用,省得传来传去的麻烦。

开始折腾

就喜欢自己动手搞。我是在我那台旧的笔记本上装个Linux系统,虚拟机啥的我懒得弄,直接装的。装完系统,第一件事就是把MySQL给装上。这个过程倒是没啥坑,用包管理器直接就装好,版本也还行,不算太旧。

不懂技术也能搞定:mysql虚拟主机搭建教程!

装完MySQL,默认它只能自己连自己,就是那个127.0.0.1。这可不行,我要的是“虚拟主机”的效果,得让局域网里其他电脑也能访问到。

改配置文件

这时候就得去改MySQL的配置文件。这玩意儿藏得还挺深,不同系统、不同安装方式放的地方还不一样。我用find命令配合grep瞎找一通,总算在一个犄角旮旯里找到那个叫还是的文件,记不清,反正就是主要的配置文件。

打开一看,里面密密麻麻一堆配置项。咱也看不懂那么多,就凭着感觉找那个bind-address。果然,默认写的是127.0.0.1关键就在这儿,得把它改。改成啥?改成0.0.0.0,意思就是监听所有网络接口,谁来都接待。你要是只想让某台特定的机器连,也可以写那台机器的IP地址,不过我当时图省事,就直接0.0.0.0

改完这个,保存文件。别忘,改完配置得重启MySQL服务才能生效。我当时直接systemctl restart mysql(或者是service mysql restart,看你系统是啥),让它重新加载配置。

防火墙和用户权限

不懂技术也能搞定:mysql虚拟主机搭建教程!

重启完服务,我心想这下总该行?结果用另一台电脑试着连,还是不行!当时就有点烦躁。后来一拍脑袋,想起来还有防火墙这道坎。

Linux系统自带防火墙,默认是不让外面随便访问端口的。MySQL默认用的是3306端口,我得把这个端口给放开。查查防火墙命令(我用的是firewalld),加条规则,允许外部访问TCP的3306端口。加完规则还得reload一下防火墙配置。

防火墙搞定,还差一步。MySQL里面得有个用户允许从远程登录才行。总不能直接用root用户,那太危险。于是我登录到MySQL命令行里面:

  • 先创建一个新用户:比如叫remote_user,密码设复杂点。关键是要指定这个用户能从哪里登录,用'remote_user'@'%',那个就表示允许从任何IP地址登录。要是只想让某个IP登录,就把换成那个IP地址,比如'remote_user'@'192.168.1.100'
  • 然后给这个用户授权:光创建用户还不行,得给它操作数据库的权限。比如给它某个特定数据库的所有权限,用GRANT ALL PRIVILEGES ON 数据库名. TO 'remote_user'@'%';这样的命令。
  • 不懂技术也能搞定:mysql虚拟主机搭建教程!

  • 刷新权限FLUSH PRIVILEGES;,让刚才的修改立刻生效。

连接测试

所有这些都搞定之后,我心里踏实多。回到另一台电脑,打开一个数据库连接工具(随便啥工具都行,Navicat、DBeaver或者命令行客户端),输入我装MySQL那台机器的IP地址、端口号3306、刚才创建的用户名remote_user和它的密码。

点一下连接按钮,这回成! 看到成功连接的提示,心里那叫一个舒坦。折腾半天,总算没白费功夫。

我局域网里的其他机器就能直接把这台装MySQL的电脑当作一个数据库服务器来用,确实方便不少。虽然过程有点小波折,特别是防火墙和用户权限那块儿容易忘,但搞定之后还是挺有成就感的。这就是自己动手实践的乐趣。

不懂技术也能搞定:mysql虚拟主机搭建教程!

免责声明:由于无法甄别是否为投稿用户创作以及文章的准确性,本站尊重并保护知识产权,根据《信息网络传播权保护条例》,如我们转载的作品侵犯了您的权利,请您通知我们,请将本侵权页面网址发送邮件到qingge@88.com,深感抱歉,我们会做删除处理。

目录[+]