问题
I programmed a website in PHP that uses a MySQL Server through GoDaddy. I have the same code saved on my local computer and sync it with the directory on GoDaddy through an app. I also use XAMPP on my computer to test any changes I make to the website before I make the changes public. However, the localhost
server is different and in no way connected with the cPanel GoDaddy server. Therefore, if something new is added to the database on the public server, I would have to
- Download the sql file on the remote phpmyadmin
- Upload this file on the localhost phpmyadmin
This is an inefficient process, so now I want to use PHP to connect to the GoDaddy server. To do this, I put the IP Address given to me in the GoDaddy hosting page as the host parameter of the mysqli_connect()
function.
// Set the database access information as constants
define('DB_USER', 'libuc6kfb0jg');
define('DB_PASSWORD', 'MY PASSWORD');
define('DB_HOST', 'MY IP ADDRESS');
define('DB_NAME', 'firstborumdatabase');
This user has all privileges on both the remote and the localhost. On cPanel - Remote MySQL® I have added the IP Address of my computer's localhost server.
// Make the connection
$dbc = @mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME) OR die('Could not connect to MySQL: ' . mysqli_connect_error());
When I put this code in, instead of having 'localhost' as my host, which connects to the local MySQL server of XAMPP, it gives the following error
Could not connect to MySQL: Access denied for user 'libuc6kfb0jg'@'[Sensitive Info]' (using password: YES)
Since I know it is not a permissions problem, the next thing I did was use the PORT parameter. So, I added 3306 to the end to no avail, for it gave me the same error. Lastly, I put in this code as a mysql
command into the mysql client from the XAMPP Control Panel, and this gave me the same exact error.
Stack Overflow Research
- Connect to server database from localhost does not give the same error as me
- Connecting to online MySQL database from localhost: I tried changing www.bforborum.com to the its ip address from the GoDaddy My Hosting Page, and this gave the same error
- Can't connect to godaddy localhost is answered with the same code that I used except using the
PDO
api and not themysqli
api - Connecting remote server mysql database to localhost doesn't give any code
Any help would be greatly appreciated.
Edit
I found a flaw: In cPanel, Remote MySQL Database, I added the IP Address that my localhost server is, not my computer's IP Address, if that makes sense. I am now changing the IP Address that I had added in this tool.
回答1:
While giving the user all permissions is crucial for it to have the necessary access to your database that only affects the ability for him to manipulate the database. You need to also whitelist your computers IP with the Servers firewall or you will not be allowed to connect to the remote server.
来源:https://stackoverflow.com/questions/56331074/connect-to-godaddy-server-database-from-localhost-computer