远程连接MySQL以及PHPStorm远程开发你的php项目

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

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

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

远程连接mysql

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

下载mysql

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

远程连接MySQL以及PHPStorm远程开发你的php项目

我下载的是 MySQL Community Server , 其实这个不是普通的安装包,就是一个压缩包,因为我们要在命令行下远程连接mysql,所以,这个包就足够了~

解压缩之后,记下你保存的位置,我们要用到 bin 文件夹中的 mysql

设置mysql的别名

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

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

远程连接MySQL以及PHPStorm远程开发你的php项目

注:

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

远程连接mysql

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

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

其中:

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

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

远程连接MySQL以及PHPStorm远程开发你的php项目

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

搭建PhpStorm开发环境

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

连接mysql数据库

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

新建database

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

远程连接MySQL以及PHPStorm远程开发你的php项目

添加Mysql

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

远程连接MySQL以及PHPStorm远程开发你的php项目

接着填写相关的信息:

远程连接MySQL以及PHPStorm远程开发你的php项目

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

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

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

保存连接

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

远程连接MySQL以及PHPStorm远程开发你的php项目

成功接入

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

远程连接MySQL以及PHPStorm远程开发你的php项目

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

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

远程开发PHP

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

创建工程

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

远程连接MySQL以及PHPStorm远程开发你的php项目

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

远程连接MySQL以及PHPStorm远程开发你的php项目

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

远程连接MySQL以及PHPStorm远程开发你的php项目

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

远程连接MySQL以及PHPStorm远程开发你的php项目

添加远程的服务器

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

远程连接MySQL以及PHPStorm远程开发你的php项目

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

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

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

远程连接MySQL以及PHPStorm远程开发你的php项目

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

远程连接MySQL以及PHPStorm远程开发你的php项目

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

在php文件中连接数据

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

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

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

<?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的过程就完成了,再次奉上参考文章,以示感谢:

 
标签: MySQL PhpStorm
反对 0举报 0 评论 0
 

免责声明:本文仅代表作者个人观点,与乐学笔记(本网)无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
    本网站有部分内容均转载自其它媒体,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责,若因作品内容、知识产权、版权和其他问题,请及时提供相关证明等材料并与我们留言联系,本网站将在规定时间内给予删除等相关处理.

  • Perl操作Mysql数据库 perl操作excel
    一. 安装DBI模块步骤1:从TOOLS栏目中下载DBI.zip,下载完后用winzip解开到一个temp目录,共有三个文件:ReadmeDBI.ppdDBI.tar.gz步骤2: 在DOS窗口下,temp目录中运行下面的DOS命令:ppm install DBI.ppd 如果提示无效命令,可在perl/bin目录下运行 二. 安装DBD
    02-09
  • Nodejs+Express+Mysql实现简单用户管理增删改查
    Nodejs+Express+Mysql实现简单用户管理增删改查
     源码地址  https://github.com/king-y/NodeJs/tree/master/user目录结构  mysql.jsvar mysql = require('mysql');var pool = mysql.createPool({host : '127.0.0.1',user : 'root',password : '',database : 's79'});exports.que
    02-09
  • PHP 使用 Swoole - TaskWorker 实现异步操作 Mysql
    PHP 使用 Swoole - TaskWorker 实现异步操作 My
    在一般的 Server 程序中都会有一些耗时的任务,比如:发送邮件、聊天服务器发送广播等。如果我们采用同步阻塞的防水去执行这些任务,那么这肯定会非常的慢。Swoole 的 TaskWorker 进程池可以用来执行一些异步的任务,而且不会影响接下来的任务,很适合处理以
    02-09
  • Mysql数据库一个小程序实现自动创建分表。
    每当跨月的时候也是系统出问题最多的时候,没有表和字段缺失是两个最常见的错误。为了解决这个问题,研究了一下mysql的 information_schema 表:information_schema这张数据表保存了MySQL服务器所有数据库的信息。如数据库名,数据库的表,表栏的数据类型与访
    02-09
  • delphi10.3安装使用mySQL及遇到的问题(01)
    delphi10.3安装使用mySQL及遇到的问题(01)
    1】下载安装好mySQL环境2】FDConnection1的设置3】执行增删改SQL语句和查询Select语句4】客户端连接5]长文本类型,及SQLITE导出,导入到MySQL6】遇到过的问题及解决1】下载安装好mySQL环境,注意32位/64位。本篇为32位mysql32位下载链接: https://pan.baidu.c
    02-09
  • Delphi XE中使用dbExpress连接MySQL数据库疑难
    Delphi IDE中包含一个Data Explorer的组件,如下图所示:  该组件基于dbExpress(包含TSQLConnection、TSQLDataSet、TSQLQuery、TSQLStoredProc、TSQLTable、TsqlServerMethod、TSQLMonitor、TSimpleDataSet)。但是因为该组件只提供了各种数据库的抽象驱动
    02-09
  • DELPHI 10.2 TOKYO搭建LINUX MYSQL开发环境
    DELPHI 10.2 TOKYO搭建LINUX MYSQL开发环境笔者使用ubuntu64位LINUX首先必须保证LINUX可以连互联网。安装MYSQLsudo apt-get update sudo apt-get install mysql-serversudo apt-get install mysql-clientsudo apt-get install libmysqlclient-dev复制MYSQL的
    02-09
  • Centos7上安装MySQL5.5报错,/usr/bin/perl is
    今天在Centos7上安装MySQL5.5时报了如下错/usr/bin/perl is needed by MySQL-server-...按照网上的几种说法进行了尝试1、在perl官网下载perl后安装到相应的目录下,仍无法解决问题2、采用强制安装 rpm -ivh MySQL-server-5.6.22-1.el6.i686.rpm --nodeps 
    02-09
  • 用perl做数据库迁移,从MSSQL到MYSQL(三)--V1
    从前边的程序的运行情况来看,程序是可以运行的,但速度太扯了,在读写1000W条之前速度还是可以的(大概2000条/秒左右),但过了1000W之后(变成400条/秒左右),当然这个与SQL SERVER读取,网络还有服务器等性能都是有关系的,但,这速度,不晓得有测试过的
    02-09
  • R语言连接MYSQL r语言连接数据库
     操作系统:centos 6.4 64bit R语言可以使用RMySQL来连接Mysql数据库,直接使用数据库里面的数据生成图像。 这个是RMYSQL的说明:http://cran.r-project.org/web/packages/RMySQL/index.htmlRMYSQL的依赖:Depends:R (≥ 2.8.0), methods, DBI (≥ 0.2-2),
    02-09
点击排行