Copy remote data into local database - php

Can anybody help me to copy all data from remote server mysql database to local database. I am using the following code.
$command="mysql -h {$mysql_host} -u '{$mysql_username}' -p '{$mysql_password}' '{$filename}' < '{$mysql_database}'";
$output = shell_exec($command);

Try with:
mysqldump -h remote_host -u remote_user -premote_password remote_database | mysql -u local_user -plocal_password local_database
It's dumping database from remote host, and then pipe'ing output to your mysql.
In your code it'll be:
$command="mysqldump -h {$mysql_host} -u '{$mysql_username}' -p'{$mysql_password}' '{$filename}' | mysql -u '{$local_user}' -p'{$local_password}' {$local_database}";
$output = shell_exec($command);

Try mysqldump -h "REMOTE_HOST" -u'REMOTE_USER' -p'REMOTE_PASSWORD' REMOTE_DB_NAME > /PATH_TO/back_ups/back_up.sql then just find this dump by the path in the catalog
$command="mysqldump -h {$mysql_host} -u '{$mysql_username}' -p '{$mysql_password}' {$mysql_database} > '{$filename}'";
{$mysql_database} without ''

Related

How to get daily backup mysql database on godday hosting based on cronjob

i have issue to daily backup for mysql database.
export only all tables with data but not mysql function and stored procedure.
how to get full database backup?
I have use this cronjob.
mysqldump –opt -Q -h [myhost] -u myusername –p"*****" ebooklibrary > /fullpath.../_db_backups/openelibrary.sql
Add the "--routines" option, which is off by default in the query. This should give you the desired result. I hope this helps.
Read more here.
mysqldump --routines –opt -Q -h [myhost] -u myusername –p"*****" ebooklibrary > /fullpath.../_db_backups/openelibrary.sql

How import large sql file (108MB) in server mysql using PHP?

I have a 108MB SQL file, how can i import this file in server using PHP Script?
I try to do this, but no result
mysql -h 213.xyz.200.xx -u myUsername -p MyPassword MyDatabase < temporarytable.sql
Take the space out after the -p or don't put the password in at all and it will prompt you for it.
mysql -h 213.xyz.200.xx -u myUsername -pMyPassword MyDatabase < temporarytable.sql

Mysqldump in amazon using PHP

I want to have a database backup our database is hosted in amazon rds. My problem in everytime i run my PHP script it generates an sql file but it is empty.
Here is my code:
exec("/usr/bin/mysqldump -u *username* -p *password* | gzip > /var/www/html/db-backup/testdb.sql.gz");
I think that you need to specify which database you want to backup
exec("/usr/bin/mysqldump -u *username* -p*password* *dbname* | gzip > /var/www/html/db-backup/testdb.sql.gz");
and you have to specify password next to -p parameter without space (mysqldump -u youruser -pyourpassword -h yourhostname yourdatabase)

MySQLdump in php, I need it to dump in a specific directory

I run a script in one of my php files that dumps a specific database which works fine, but it puts the created file in the directory where the scripts is called. How can I make it to store the file in a specific directory? (e.g /blahblah/backups)
Here's the code (the connection code is not included but you get the idea)
system("mysqldump -h $pdb_server -u $pdb_user -p$pdb_pwd $pdb_name > $backupfile");
could I just add
/path/to/output/$backupfile
Put the Path before the command:
system("cd /path/to/output/$backupfile; mysqldump -h $pdb_server -u $pdb_user -p$pdb_pwd $pdb_name > $backupfile");
or
system("mysqldump -h $pdb_server -u $pdb_user -p$pdb_pwd $pdb_name > /path/to/output/$backupfile");

Empty files generated from running `mysqldump` using PHP

I keep getting empty files generated from running
$command = 'mysqldump --opt -h localhost -u username -p \'password\' dbname > \'backup 2009-04-15 09-57-13.sql\'';
command($command);
Anyone know what might be causing this? My password has strange characters in it, but works fine with connecting to the db.
I've ran exec($command, $return) and outputted the $return array and it is finding the command. I've also ran it with mysqldump > file.sql and the file contains
Usage: mysqldump [OPTIONS] database [tables]
OR mysqldump [OPTIONS] --databases [OPTIONS] DB1 [DB2 DB3...]
OR mysqldump [OPTIONS] --all-databases [OPTIONS]
For more options, use mysqldump --help
So it would seem like the command is working.
Remove the space between -p and the password. If it didn't work, try to remove the quotes from the password
from MySQL documentation:
If you use the short option form (-p), you cannot have a space between the option and the password.
however, it is fine to have space with -h and -u options
I believe there are no spaces between -u and the actual username.
host: localhost user: peter password: pwd
would become:
-hlocalhost -upeter -ppwd
This is how I have done it - output is with maximum gzip compression:
<?php exec("/usr/bin/mysqldump --opt --host=MYSQLHOSTNAME --user=MYSQLUSER --password=PASSWORD DATABASENAME | gzip -v -9 >DATABASENAME.". date("Y-m-d_H-i-s") . ".sql.gz");?>
To put it in plain english, make sure to use the following options (all of them).
--user=USERNAME
--host=localhost
--password=****
The next non-option phrase should be your database name. If the command is followed by another non-option phrase, it will be treated as table names.
$command="mysqldump --xml --host=localhost --user=USERNAME --password=***** DBNAME > XMLTABLE.xml";
system($command);
$command = 'C:\xampp\mysql\bin\mysqldump --opt --user=root --host=localhost --password="password" my_db'.' > '.$backupdate.$sql_file_name; exec($command);
I faced the same issue and got it fixed by quoting the password. For example --password="yourpassword".
I had empty files too using mysqldump.
I run WampServer PHP7 under Windows 10.
system('mysqldump .... ') ;
Doen't work.
I had to add the full path (or add an Environment variable) :
system('C:\wamp64\bin\mysql\mysql5.7.9\bin\mysqldump.exe ...') ;
You have to specify full path to mysqldump:
// Linux:
$command = '/usr/bin/mysqldump --opt -h localhost -u username -p \'password\' dbname > \'backup 2009-04-15 09-57-13.sql\'';
// Windows:
$command = 'c:\mysql\bin\mysqldump --opt -h localhost -u username -p \'password\' dbname > \'backup 2009-04-15 09-57-13.sql\'';

Categories