quick-docs/modules/ROOT/partialsdelete/2delete-proc_expose-outside-mysql.adoc

79 lines
2 KiB
Text
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

= How To Allow Remote Access MySQL/MariaDB/MYSQL Community
== Add New Rule to Firewalld
Open SQL port (3306) on FireWalld:
----
sudo firewall-cmd --permanent --zone=public --add-service=mysql
----
## OR ##
----
sudo firewall-cmd --permanent --zone=public --add-port=3306/tcp
----
== Restart firewalld.service
----
systemctl restart firewalld.service
----
== Editing Conf. Files:
Configuration files:
* MySQL -> `/etc/my.cnf/`
* MySQL Community -> `/etc/my.cnf.d/community-mysql-server.cnf`
* MariaDB -> `/etc/my.conf`
NOTE: you can ensure that with the following command `rpm -qc [package]`.
Navigate to the line that begins with the bind-address directive. It will look like this:
you could set this directive to a wildcard IP address, either *, ::, or 0.0.0.0:
----
bind-address = 0.0.0.0
----
After changing this line, save and close the file and then restart the MySQL service:
----
sudo systemctl restart {mysqld|mariadb}
----
== Creating a USER
----
CREATE USER 'your_username'@'host_ip_addr' IDENTIFIED BY 'your_password';
----
NOTE: Replace your_username and your_password depending on what you want the username and password to be. Here, host_ip_addr is the hostname or IP address of the computer from where you want to connect to the MySQL/MariaDB server. You can also use % as host_ip_addr if you want to connect from any computer. It can also be something like 192.168.2.% if you want to connect from computers from the IP range 192.168.2.1 192.168.2.254.
== Allow Access
----
GRANT ALL PRIVILEGES ON *.* TO 'your_username'@'%';
IDENTIFIED BY 'my-new-password' WITH GRANT OPTION;
----
#OR
It is common for people to want to create a "root" user that can connect from anywhere, so as an example, we'll do just that, but to improve on it we'll create
a root user that can connect from anywhere on the local area network (LAN)
----
GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.100.%'
IDENTIFIED BY 'my-new-password' WITH GRANT OPTION;
----
----
FLUSH PRIVILEGES;
----
== Connecting
----
mysql -u [USER] -h [IP] -p
----