为mysql打开一个vagrant服务器

jckbn6z7  于 2021-06-23  发布在  Mysql
关注(0)|答案(1)|浏览(271)

导言

我是一个php开发人员。我使用vagrant来近似复制实时服务器环境。
我有许多非框架项目正在运行,例如:简单插件、编写器存储库和代码段。这些通常需要与数据库交互。
而不是有10个,可能100个虚拟机(都占用硬盘空间),我只想有一个流浪汉示例。
现在,通常这会很容易,但我不想Map文件夹之类的。我只想:
一台流浪机器(目前我有一台运行ubuntu服务器的空白机器)
mysql已安装(已安装)
此mysql将通过非ssl方法提供
其他要点:
这不需要是安全的:这是一个测试/转储/重建服务器
不会使用真实数据,只使用测试数据
这将仅在本地可用
php不容易隧道,所有代码的用例都是在本地使用的。
我是一个开发人员,不是服务器Maven:我认为我应该打开一个端口并通过它,但正如我所说的:我不是Maven。有点意识到我以前从来没有用过“不安全的”/非ssl的方式!
因此。。。要结束冗长的介绍:

问题

如何在ubuntuvagrant环境中不安全地公开mysql?
我应该能够运行一个本地php脚本,不使用ssl
我不想完全重建vagrant服务器:我只需要打开它的命令/步骤
php登录参数数组示例:

$connection_params = array(
'database' => 'cool_database',
'username' => 'open_database',
'password' => 'open_database_password',
'host' => 'domain-in-hosts-file.com',
'driver' => 'mysql',
);

当前采取的步骤

以下是几个教程:
编辑时间: /etc/mysql/mysql.conf.d/mysqld.cnf 改变 127.0.0.1
0.0.0.0 sudo systemctl restart mysql.service 登录mysql:

GRANT ALL ON *.* TO 'open_database'@'192.168.55.1' IDENTIFIED BY "open_database_password" WITH GRANT OPTION;

FLUSH PRIVILEGES;

(用户名/密码和IP地址已更改,因为这是一个论坛:)

编辑:问题答案 netstat 输出:

Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      -               
tcp        0      0 0.0.0.0:3306            0.0.0.0:*               LISTEN      -               
tcp6       0      0 :::22                   :::*                    LISTEN      -
dkqlctbz

dkqlctbz1#

在合并/翻译一些博客文章后,从每一篇文章中收集我需要的东西:

回答

下面是在vagrant或类似连接上打开mysql的步骤。

港口开放

默认情况下,流浪汉不通过端口。这可以通过以下方式实现:
文件样式: config.vm.network "forwarded_port", guest: 3306, host: 3306 config.yaml样式:

portmysql:
                        host: '3306'
                        guest: '3306'

修改mysql配置

编辑 /etc/mysql/my.cnf :
点评 skip-external-locking 点评 bind-address 这两项阻止mysql监听外部地址等。
重新启动mysql: sudo service mysql restart ###设置用户
GRANT ALL PRIVILEGES ON *.* TO 'username'@'%' ;
刷新特权;

结束!

希望这能对你有所帮助。
主要的问题是,我读过的博客中没有一个真正解释了所有的内容。因此,概括一下:
打开端口(通常为3306)
将mysql设置为侦听此端口(外部锁定和绑定地址)
设置/修改用户以使其能够实际读取(..@“%”)
希望这能帮助别人。

相关问题