MySQL is a widely used database management system that can be accessed locally or remotely on a server and is often used to develop web applications. However, sometimes we need remote access to MySQL on different machines, so we need to configure MySQL correctly. In this article, we will introduce how to set up remote access to MySQL on Ubuntu 18.04 operating system.
Step 1: Check whether MySQL has remote access enabled
Before starting the configuration, we need to ensure that MySQL has remote access enabled. First, we need to log into the MySQL server and see if remote access is enabled. Open a terminal and enter the following command:
sudo mysql -u root -p
This command will log in to MySQL as the root user. After entering this command, you will be asked for your password. If you enter the correct password, you will enter the MySQL shell, which allows you to access the MySQL server's command line interface. In the MySQL shell, we need to enter the following command to see if remote access is enabled:
SELECT user,authentication_string,host FROM mysql.user;
If remote access is enabled, you should see the following output:
+------------------+-------------------------------+-----------+ | user | authentication_string | host | +------------------+-------------------------------+-----------+ | root | *E0AAECBBB187B27AAF667AEC86667 | localhost | | root | *E0AAECBBB187B27AAF667AEC86667 | % | | mysql.session | *THISISNOTAVALIDPASSWORDTHAT | localhost | | mysql.sys | *THISISNOTAVALIDPASSWORDTHAT | localhost | | debian-sys-maint | *456D0C7680DF288F66F7401EABC4B | localhost | +------------------+-------------------------------+-----------+
The "% here" "Indicates that MySQL allows access by users on any host. If you see this output, then MySQL has remote access enabled.
If you do not see the above output or if you see a different output than the above, it means that MySQL does not have remote access enabled. In this case, you need to configure MySQL to allow remote access.
Step 2: Set up a new remote access account for MySQL
Before enabling remote access, we need to create a new remote access account for MySQL. The reason for this is that MySQL only allows the root user to access the server locally by default, and other users need to use open authorization to access.
In order to set up a new remote access account, we need to execute the following commands in the MySQL shell:
CREATE USER 'newuser'@'%' IDENTIFIED BY 'password'; GRANT ALL PRIVILEGES ON *.* TO 'newuser'@'%' WITH GRANT OPTION; FLUSH PRIVILEGES;
These commands will create a new user named "newuser" and assign all access rights . "%" means that the user can access the MySQL server from any host. You can also specify allowed hosts using specific IP addresses or hostnames. For example, "newuser"@"10.0.0.2" means that access to the MySQL server is only allowed from the host with the IP address "10.0.0.2".
Step 3: Configure the firewall to allow MySQL traffic
Normally, the MySQL server may be protected by a firewall. In order to allow remote access to the MySQL server, you need to open the MySQL port on the firewall (default is 3306). In order to do this, we need to enter the following command:
sudo ufw allow 3306/tcp
This command will open a port named "3306", allowing TCP traffic to pass through the firewall. However, before proceeding with this step, you need to make sure that your firewall is installed and enabled.
Step 4: Update the MySQL configuration file
In order to allow remote login to the MySQL server, you need to set it in the MySQL configuration file. By default, the MySQL configuration file is located at "/etc/mysql/mysql.conf.d/mysqld.cnf". You need to open the file as an administrator and edit a few values as follows:
bind-address = 0.0.0.0
The above command will allow the MySQL server to accept connection requests from any IP address. Note that this may be unsafe as it leaves the MySQL server vulnerable to unauthorized access. If you want to make remote access to MySQL more secure, you should specify the IP addresses or CIDR ranges that allow access.
Step 5: Restart the MySQL server
After modifying the MySQL configuration file, you need to restart the MySQL server for the changes to take effect. To restart MySQL, you can use the following command:
sudo systemctl restart mysql
If you see the following output, it means that the MySQL server has been successfully restarted:
mysql.service - MySQL Community Server Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled) Active: active (running) since Mon 2019-01-21 15:40:22 EST; 17s ago
At this point, you have successfully set up the MySQL server remote access.
Conclusion
MySQL is a powerful database management system that allows you to access it locally or remotely on the server. In this article, we explain how to set up remote access to MySQL on Ubuntu 18.04 operating system. By following the above steps, you can easily perform MySQL remote access between different machines. But please note that you need to pay attention to security and protect your MySQL server from unauthorized access.
The above is the detailed content of How to Set Up Remote Access for MySQL on Ubuntu. For more information, please follow other related articles on the PHP Chinese website!

TograntpermissionstonewMySQLusers,followthesesteps:1)AccessMySQLasauserwithsufficientprivileges,2)CreateanewuserwiththeCREATEUSERcommand,3)UsetheGRANTcommandtospecifypermissionslikeSELECT,INSERT,UPDATE,orALLPRIVILEGESonspecificdatabasesortables,and4)

ToaddusersinMySQLeffectivelyandsecurely,followthesesteps:1)UsetheCREATEUSERstatementtoaddanewuser,specifyingthehostandastrongpassword.2)GrantnecessaryprivilegesusingtheGRANTstatement,adheringtotheprincipleofleastprivilege.3)Implementsecuritymeasuresl

ToaddanewuserwithcomplexpermissionsinMySQL,followthesesteps:1)CreatetheuserwithCREATEUSER'newuser'@'localhost'IDENTIFIEDBY'password';.2)Grantreadaccesstoalltablesin'mydatabase'withGRANTSELECTONmydatabase.TO'newuser'@'localhost';.3)Grantwriteaccessto'

The string data types in MySQL include CHAR, VARCHAR, BINARY, VARBINARY, BLOB, and TEXT. The collations determine the comparison and sorting of strings. 1.CHAR is suitable for fixed-length strings, VARCHAR is suitable for variable-length strings. 2.BINARY and VARBINARY are used for binary data, and BLOB and TEXT are used for large object data. 3. Sorting rules such as utf8mb4_unicode_ci ignores upper and lower case and is suitable for user names; utf8mb4_bin is case sensitive and is suitable for fields that require precise comparison.

The best MySQLVARCHAR column length selection should be based on data analysis, consider future growth, evaluate performance impacts, and character set requirements. 1) Analyze the data to determine typical lengths; 2) Reserve future expansion space; 3) Pay attention to the impact of large lengths on performance; 4) Consider the impact of character sets on storage. Through these steps, the efficiency and scalability of the database can be optimized.

MySQLBLOBshavelimits:TINYBLOB(255bytes),BLOB(65,535bytes),MEDIUMBLOB(16,777,215bytes),andLONGBLOB(4,294,967,295bytes).TouseBLOBseffectively:1)ConsiderperformanceimpactsandstorelargeBLOBsexternally;2)Managebackupsandreplicationcarefully;3)Usepathsinst

The best tools and technologies for automating the creation of users in MySQL include: 1. MySQLWorkbench, suitable for small to medium-sized environments, easy to use but high resource consumption; 2. Ansible, suitable for multi-server environments, simple but steep learning curve; 3. Custom Python scripts, flexible but need to ensure script security; 4. Puppet and Chef, suitable for large-scale environments, complex but scalable. Scale, learning curve and integration needs should be considered when choosing.

Yes,youcansearchinsideaBLOBinMySQLusingspecifictechniques.1)ConverttheBLOBtoaUTF-8stringwithCONVERTfunctionandsearchusingLIKE.2)ForcompressedBLOBs,useUNCOMPRESSbeforeconversion.3)Considerperformanceimpactsanddataencoding.4)Forcomplexdata,externalproc


Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

SublimeText3 Linux new version
SublimeText3 Linux latest version

Dreamweaver Mac version
Visual web development tools

EditPlus Chinese cracked version
Small size, syntax highlighting, does not support code prompt function

ZendStudio 13.5.1 Mac
Powerful PHP integrated development environment

MantisBT
Mantis is an easy-to-deploy web-based defect tracking tool designed to aid in product defect tracking. It requires PHP, MySQL and a web server. Check out our demo and hosting services.
