My guess, assuming the db is sitting on the same machine as the web server, that you should use
127.0.0.1 on the ip and not the external IP of the host. Typically mysql DB servers only listen on the localhost ip. I.e. only listen to connections from the machine itself.
That should work. It' s also good practice to create a separate DB user for each application you use on a particular server.
This is what you have to do:
Go to your server cli and start with:
mysql -uroot -p
Enter your mysql root password.
CREATE DATABASE sugarcrm;
CREATE USER 'sugarcrm'@'localhost' IDENTIFIED BY 'yoursecurepassword';
GRANT ALL PRIVILEGES ON sugarcrm.* TO 'sugarcrm'@'localhost';
The above creates an empty
sugarcrm database. It also creates a user has full rights to sugarcrm database (but not other databases). That user can however only login from
localhost I.e. it can only login from the machine the db is running on (so is even more secure).
Then in your config above enter
127.0.0.1 as ip, user is
sugarcrm and password is
This way you don't use your root db password in random (potentially dangerous) apps.
You of course need to change
yoursecurepassword to something secure and not those literal words
Do similar to the above for each new application you add to the server creating a separate db/user for each of them (of course if they need a database).
You can probably create such a user and database using
phpmyadmin also but I don't really have instructions for that.