Let assume that you have setup the linux server with mysql. Now you want to deploy the database to the server you have created on your developement enviroment.
You development enviroment may be windows or mac or linux with the gui but server are run only cli.
So it is necessary to know the easy way to deploy database to the server with just cli
1) Export the sql file of the database from your development enviroment.
2) Copy the sql file to the serve using the sftp.
3) Now import the sql file to you mysql using this comman snippet
$ mysql -u [username] -p < [path/to/your/sql/file]
$ password : [your password ] [will be invisible on screen]
$
After sucessfull import of sql file your database will ready to be used.
Note that if there is any error during the import than it will print the error on the screen but in case of successful import it will not generate any response.
Now to access the database deployed on the server you may use the phpmyadmin. But it come at the cost of php. Your production application might not using the phpmyadmin.
To overcome this you can use another approch to access the remote mysql server using the mysql client.
To enable the remote access for the mysql remote access you have to enable the remote access to the user run this command
GRANT ALL PRIVILEGES ON *.* TO '[username]'@'[host]' IDENTIFIED BY '[password]'
WITH GRANT OPTION;
Here [username] is the user name for which you want to enabel the remote access. and [host] is the host for which you want to enable the remote acess.
You development enviroment may be windows or mac or linux with the gui but server are run only cli.
So it is necessary to know the easy way to deploy database to the server with just cli
Importing the mysql database to mysql using the cli
1) Export the sql file of the database from your development enviroment.
2) Copy the sql file to the serve using the sftp.
3) Now import the sql file to you mysql using this comman snippet
$ mysql -u [username] -p < [path/to/your/sql/file]
$ password : [your password ] [will be invisible on screen]
$
After sucessfull import of sql file your database will ready to be used.
Note that if there is any error during the import than it will print the error on the screen but in case of successful import it will not generate any response.
Now to access the database deployed on the server you may use the phpmyadmin. But it come at the cost of php. Your production application might not using the phpmyadmin.
To overcome this you can use another approch to access the remote mysql server using the mysql client.
Remote Mysql Connection
To enable the remote access for the mysql remote access you have to enable the remote access to the user run this command
GRANT ALL PRIVILEGES ON *.* TO '[username]'@'[host]' IDENTIFIED BY '[password]'
WITH GRANT OPTION;
Here [username] is the user name for which you want to enabel the remote access. and [host] is the host for which you want to enable the remote acess.
[host] may be an ip address or the dns name of host.
After this step you can connect to the remote mysql server using your local mysql client
Mysql clients
For windows : mysql workbench
For Mac : sequelPro
For Linux : mysql workbench
Another easier way to deploy a PHP and MySQL website to a server is by using a platform like Cloudways web hosting for PHP. With this platform, users can launch a managed servers on cloud in just one click with PHP and MySQL already installed on it.
ReplyDelete