Php 导入mysql转储

Php 导入mysql转储,php,mysql,fortrabbit,Php,Mysql,Fortrabbit,我正在尝试将数据从一台服务器上的一个mysql数据库同步到另一个服务器(与您在一起的位置) 我有一系列php脚本,可以打包数据,下载到服务器并解压缩。。但我对通过命令行导入数据没有什么兴趣 我正在运行终端命令 mysql-u dbusername-h blaa.mysql.eu1.frbit.com mypasswordhere数据库_name

我正在尝试将数据从一台服务器上的一个mysql数据库同步到另一个服务器(与您在一起的位置)

我有一系列php脚本,可以打包数据,下载到服务器并解压缩。。但我对通过命令行导入数据没有什么兴趣

我正在运行终端命令

mysql-u dbusername-h blaa.mysql.eu1.frbit.com mypasswordhere数据库_name 通过php exec命令。。我没有收到任何错误或错误日志中显示的任何内容,但似乎没有导入任何内容:(当我通过终端运行相同的命令时,它会工作,但会说“在终端中使用mysql密码很愚蠢”

我只是想知道是否有一种更明智的方法可以通过PHP实现这一点,这样我就不必每次想同步时都手工完成了。

尝试以下方法:

mysql -u dbusername -h blaa.mysql.eu1.frbit.com -p mypasswordhere database_name < /var/www/blaa/sqlfilehere.sql
mysql-u dbusername-h blaa.mysql.eu1.frbit.com-p mypasswordhere数据库_name

mysql-udbusername-hblaa.mysql.eu1.frbit.com-pmypasswordhere数据库_name
取决于实现(感谢eKom指出这一点)。注意在密码前使用-p。这可能会有所帮助。否则,mysql命令会将您提供的密码作为数据库的名称。(尽管在这种情况下它会给您一个错误)

尝试以下操作:

mysql -u dbusername -h blaa.mysql.eu1.frbit.com -p mypasswordhere database_name < /var/www/blaa/sqlfilehere.sql
mysql-u dbusername-h blaa.mysql.eu1.frbit.com-p mypasswordhere数据库_name

mysql-udbusername-hblaa.mysql.eu1.frbit.com-pmypasswordhere数据库_name

取决于实现(感谢eKom指出这一点)。注意在密码前使用-p。这可能会有所帮助。否则,mysql命令会将您提供的密码作为数据库的名称。(尽管在这种情况下它会给您一个错误)

尝试以下操作:

...
$dbhost = "blaa.mysql.eu1.frbit.com";
$dbuser = "dbusername";
$dbpass = 'mypasswordhere';
$dbname = "database_name";
$filename = "/var/www/blaa/sqlfilehere.sql"

system("mysql -h $dbhost -u $dbuser --password='$dbpass' $dbname < $filename");
...
。。。
$dbhost=“blaa.mysql.eu1.frbit.com”;
$dbuser=“dbusername”;
$dbpass='mypasswordhere';
$dbname=“数据库名称”;
$filename=“/var/www/blaa/sqlfilehere.sql”
系统(“mysql-h$dbhost-u$dbuser--password='$dbpass'$dbname<$filename”);
...

尝试以下方法:

...
$dbhost = "blaa.mysql.eu1.frbit.com";
$dbuser = "dbusername";
$dbpass = 'mypasswordhere';
$dbname = "database_name";
$filename = "/var/www/blaa/sqlfilehere.sql"

system("mysql -h $dbhost -u $dbuser --password='$dbpass' $dbname < $filename");
...
。。。
$dbhost=“blaa.mysql.eu1.frbit.com”;
$dbuser=“dbusername”;
$dbpass='mypasswordhere';
$dbname=“数据库名称”;
$filename=“/var/www/blaa/sqlfilehere.sql”
系统(“mysql-h$dbhost-u$dbuser--password='$dbpass'$dbname<$filename”);
...

因此,我最终使用了一个由其他人组合而成的php类。它比我在php中所能做的更快/更好,并且不会弄乱命令行。

因此,我最终使用了一个由其他人组合而成的php类。它比我在php中所能做的更快/更好,而且不会弄乱使用命令行。

在某些实现中,您无法在-p和密码之间写入空格。我可以运行该命令并通过终端导入数据。在fortrabbit环境中,当我通过php运行完全相同的命令时,它不起作用。因此,我确信语法是正确的。在某些实现中,您无法在-p和密码之间写入空格-p和密码我可以运行命令并通过终端导入数据。当我在fortrabbit环境中通过php运行完全相同的命令时,它就不起作用了。所以我确信语法是正确的。对不起。我正在擦洗我的密码并取出了-p。所以它是mysql-u dbusername-h blaa.mysql.eu1.frbit.com-p mypasswordhere数据base_name