Contents
  1. 1. 远程连接mysql
    1. 1.1. 下载mysql
    2. 1.2. 设置mysql的别名
    3. 1.3. 远程连接mysql
  2. 2. 搭建PhpStorm开发环境
    1. 2.1. 连接mysql数据库
      1. 2.1.1. 新建database
      2. 2.1.2. 添加MySQL
      3. 2.1.3. 保存连接
      4. 2.1.4. 成功接入
    2. 2.2. 远程开发PHP
      1. 2.2.1. 创建工程
      2. 2.2.2. 添加远程的服务器
      3. 2.2.3. 在php文件中连接数据

上一篇博文中介绍了如何在完整地搭建LAMP环境。其中提到了新建一个可以在任意IP地址远程连接MySQL的用户,今天这篇博文就详细介绍下如何在你的电脑上远程连接mysql,并且介绍如何用phpstorm来远程开发你的php项目。

我的开发环境是MAC,所以我这篇博文里面的相关方法都是在macOS环境下的,不过如果你习惯在win上面用命令行的话,我相信问题不大。

远程连接mysql

前提是你已经新建好了一个可以在任意IP地址连接数据库的用户,如果不清楚如何创建,请参考我的上一篇博文中关于MySQL的部分。

下载mysql

MacOS系统本身是不带mysql的,所以我们需要去官网上下载一下。

我下载的是MySQL Community Server, 其实这个不是普通的安装包,就是一个压缩包,因为我们要在命令行下远程连接mysql,所以,这个包就足够了~
解压缩之后,记下你保存的位置,我们要用到bin文件夹中的mysql

设置mysql的别名

我因为之前装了zsh,所以直接在~/.zhsrc中进行相关的别名设置就可以了。

1
alias mysql='/yourpath/mysql-5.7.14-osx10.11-x86_64/mysql-5.7.14-osx10.11-x86_64/bin/mysql'

注:

  • 如果不设置别名的话,每次需要使用完整的路径才能在命令行中使用mysql
  • 如果对我的主题感兴趣,可以参见我的这篇博文
  • 如果你没有安装zsh,可以直接修改~/.bash_profile文件,如果没有这个文件的话,直接新建一个好了
  • 如果你是在.zshrc 中添加了别名,记得最后要 source ~/.zshrc一下;如果是在 bash_profile中,则source ~/.bash_profile

远程连接mysql

直接在命令行中键入下面的命令

1
mysql -u yourname -h xxx.xxx.xxx.xxx -p

其中:

  • -u 后面接的是我们新建好的用户名称,记得一定要设置可以在任意ip地址访问呦(或者指定ip地址也可以,但是一定要设置就好了);
  • -h 后面接的是我们的mysql远程地址

输入密码就可以远程访问我们的mysql了

这里有一个特别有意思的地方,我们可以看到在命令行中远程接入数据库,是要我们输入密码的,但是后面我们通过php连接的时候,却会发现很奇怪的现象,这个现象的原因在我的上一篇博文中有详细描述,我们还是直接来看一下好了,不过不要急,我们先来搭建好phpstorm的环境。

搭建PhpStorm开发环境

PhpStorm也是JetBrains旗下非常好用的一款软件,当然也是要收费的,不过Mac用户可以通过这个网站上下载PhpStorm,你懂的~

连接mysql数据库

其实原理和我们之前在命令行中远程连接一样,如果你习惯看图形界面,那么你可以直接在PhpStorm上面进行数据库的一些操作。

新建database

在顶部菜单栏中选择 View -> Tool Windows --> Database

添加MySQL

选择左上角的 + 号,然后在弹出的列表中依次选择 Data Source --> MySQL

接着填写相关的信息:

  • Host:就是我们的远程主机的IP地址。这里说一下,一般商用的系统,服务器和数据库是分离的,这样可以保证数据的安全,不至于服务器被攻破以后数据库也一并暴露(或者反过来),但是我们的小系统没有必要分离,所以主机和数据库放在一起。
  • Database: 就是我们选择的某一个数据库,因为可能你新建的用户只允许访问某一个特殊的数据库,这里也可以留空就表示所有的库都可以访问
  • User: 我们新建的用户名
  • Password: 密码

注意看最下方,如果你们是第一次通过PhpStorm建立远程连接,应该会提示 miss driver files,我们直接点击下载就好了,下载成功后,就会显示和我的界面一样的no ojbects了.

我们可以点击中间的test进行测试连接,正常的话,会提示connect success的对话框

保存连接

点击OK以后,会弹出来让我们输入密码,这个密码是PhpStorm要用到的存储在本地密码,在日后要使用某个数据库时,可能会需要我们再次输入。

成功接入

贴一张我成功连接后的图片:

  • 中间的窗口可以供我们进行数据库语句的编写,写完之后直接Cmd + Enter会提示我们执行相关的语句;
  • 右侧的窗口显示我们建立好连接的数据库的列表,包括每张表的详细列属性等等;
  • 底部的窗口是显示我们执行完后的表的可视化窗口,途中我执行了一条create和select语句之后的表的内容。

在这个窗口执行相关数据的操作语句,就显得比较直观了~

远程开发PHP

如果上一篇博文中大家按照步骤建立了完整的LAMP环境,也在/var/www/html中测试了我们放进去的第一个php文件,那么我们就看如何利用phpstorm进行远程开发吧,也就是我们可以在我们自己本机的电脑上进行线下的开发,等到测试没有问题了之后,直接部署到线上。

创建工程

点击顶部菜单栏中的 File --> New Project from Existing Files...

在弹出的对话框中选择 Web server is on remote host, files are accessible via FTP/SFTP/FTPS

然后给我们的工程命名和选择路径,在 Deployment options下选择 Custom, 点击 next

因为我们选择了custom,所以这里我们可以进行一些部署时的选项。为了图方便,我们可以选择每次保存文件的时候就自动上传,当然这样对测试系统是没有问题的,但是对于正式部署的系统要谨慎,一定要线下测试完成之后,再选择上传到remote端。

添加远程的服务器

然后我们选择 Add new remote server,点击 next

给自己的远程服务命名,然后 type 中选择 SFTP, 并填入相关的参数,

  • SFTP host: 填入我们的主机的ip地址
  • Port: 端口号就用默认的22
  • Root path: 指的是页面文件的根目录,apache为我们新建的在/var/www/html
  • User namePassword 大家都知道填什么对不对。

完成之后可以 Test SFTP connection...

在下个页面中,选中 Project Root并且点击next

基本上整个环境就部署好了,我们可以试着新建一些php文件,然后编辑之后,点击Cmd+S,就会自动把文件上传到远端了,然后我们在相应的页面上就能看到我们刚部署上去的php文件了。

在php文件中连接数据

之前留了个悬念给大家,就是我们在php文件中连接我们的数据库,因为php文件和mysql数据库是在一个主机上的,所以相当于在localhost上面登录,而如果你之前添加的那个可以在任意ip地址登录的那个用户,在localhost上没有被赋予权限(因为我们近添加了%而没有添加localhost)详情参见上一篇博文,就会登录失败。

所以在你的php文件中,密码必须是null,才能登录成功。 当然如果你新建的其他用户只能在localhost通过密码登录,就真的需要输入秘密了。

来看下我的php登录mysql的源码吧:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
$server_name = "localhost";
$db_name = "yourdatabasename";
$user_name = "yourname";

// create connection
$conn = new mysqli($server_name,$user_name,null,$db_name);

// check connection
if ($conn->connect_error) {
echo "Connect Fail!!" . $conn->connect_error;
} else {
echo "Connected successfully";
}
?>

注意看,mysqli()方法中,密码那个参数是null,因为我把这个用户赋予了在任意ip地址登录的权限,而如果他在localhost登录,会被当做匿名用户登录,所以,这里需不要密码。感兴趣的同学可以试一下!


好了,到这里,搭建phpstorm的过程就完成了,再次奉上参考文章,以示感谢:

Contents
  1. 1. 远程连接mysql
    1. 1.1. 下载mysql
    2. 1.2. 设置mysql的别名
    3. 1.3. 远程连接mysql
  2. 2. 搭建PhpStorm开发环境
    1. 2.1. 连接mysql数据库
      1. 2.1.1. 新建database
      2. 2.1.2. 添加MySQL
      3. 2.1.3. 保存连接
      4. 2.1.4. 成功接入
    2. 2.2. 远程开发PHP
      1. 2.2.1. 创建工程
      2. 2.2.2. 添加远程的服务器
      3. 2.2.3. 在php文件中连接数据