How to change mysql workbench port number

By default, MySQL will listen for connections from port 3306 when you run the database server.

Any MySQL client program generally will connect to port 3306 as well by default.

This includes GUI clients like MySQL workbench and SQLyog, as well as the mysql command-line client.

Change MySQL default port

You can view and edit the port used by MySQL server by checking the configuration file used by your MySQL server.

When you run the server with the start command, MySQL would look for a configuration file in the following locations:

  • /etc/my.cnf
  • /etc/mysql/my.cnf
  • /usr/local/mysql/etc/my.cnf
  • ~/.my.cnf

The priority of the files above follows the order. It means that if MySQL already found the configuration file in /etc/my.cnf location, the rest will be ignored.

Here’s the location priority for Windows operating system:

  • C:\Windows\my.ini
  • C:\Windows\my.cnf
  • C:\my.ini
  • C:\my.cnf
  • C:\Program Files\MySQL\MySQL Server x.x\my.ini
  • C:\Program Files\MySQL\MySQL Server x.x\my.cnf

Alternatively, you can pipe the result of mysql --help command to the grep and ls command as shown in this StackOverflow answer.

You won’t have to look for the configuration file manually with this trick:

mysql --help | grep /my.cnf | xargs ls

ls: /etc/my.cnf: No such file or directory
ls: /etc/mysql/my.cnf: No such file or directory
ls: ~/.my.cnf: No such file or directory
/usr/local/etc/my.cnf

The above result shows that the my.cnf file on my local computer is located on /usr/local/etc/my.cnf

Once you find the .cnf (or .ini file for Windows) then you can add the port option to the [mysqld] section as shown below:

[mysqld]
port = 3308
bind-address = 127.0.0.1
mysqlx-bind-address = 127.0.0.1

If there’s no port option specified, then MySQL will default to port 3306.

Once you define the port option, save your changes and restart your MySQL server.

In the example above, MySQL server should now listen for connection on port 3308 instead of 3306.

If you’re using a GUI client like MySQL Workbench, please don’t forget to change the port when you need to connect to the server.

But you don’t need to specify the port for mysql command-line client because it takes the port option from the configuration file into account when attempting to connect to the server.

In this tutorial , I will guide you how to change mysql default port and what is the purpose of mysql_secure_installation.

Below is what we will do for this purpose.

  1. Stop MySQL Service
  2. Change port in MySQL Configuration File
  3. Restart MySQL Service
  4. Run Security Script (mysql_secure_installation)
  • Change the password for root 
  • Remove anonymous users
  • Disallow root login remotely
  • Remove test database and access to it
  • Reload privilege tables now
  • Login to MySQL Shell with New Password

Step 1 - Stop MySQL Service

For CentOS

[root@DBA-Master ~]# service mysqld stop

For Ubuntu

[root@DBA-Master ~]# service mysql stop

Step 2 - Change Port in MySQL Configuration File

For CentOS

[root@DBA-Master ~]#  vi /etc/my.cnf

[mysqld]


port= 4545
datadir= /home/ist/mysql


save and exit

For Ubuntu

[root@DBA-Master ~]#  vi /etc/mysql/mysql.conf.d/mysqld.cnf

[mysqld]


port=4545
datadir= /home/ist/mysql


save and exit

Step 3 - Restart MySQL Service

For CentOS

[root@DBA-Master ~]# service mysqld start 

For Ubuntu

[root@DBA-Master ~]# service mysql start 

Step 4 - Run Security Script (mysql_secure_installation)

[root@DBA-Master ~]# mysql_secure_installation 


Securing the MySQL server deployment.


Enter password for user root: 


The 'validate_password' plugin is installed on the server.
The subsequent steps will run with the existing configuration
of the plugin.
Using existing password for root.


Estimated strength of the password: 100 
Change the password for root ? ((Press y|Y for Yes, any other key for No) : Y


New password: 


Re-enter new password: 


Estimated strength of the password: 100 
Do you wish to continue with the password provided?(Press y|Y for Yes, any other key for No) : Y
By default, a MySQL installation has an anonymous user,
allowing anyone to log into MySQL without having to have
a user account created for them. This is intended only for
testing, and to make the installation go a bit smoother.
You should remove them before moving into a production
environment.


Remove anonymous users? (Press y|Y for Yes, any other key for No) : Y
Success.




Normally, root should only be allowed to connect from
'localhost'. This ensures that someone cannot guess at
the root password from the network.


Disallow root login remotely? (Press y|Y for Yes, any other key for No) : Y
Success.


By default, MySQL comes with a database named 'test' that
anyone can access. This is also intended only for testing,
and should be removed before moving into a production
environment.




Remove test database and access to it? (Press y|Y for Yes, any other key for No) : Y
 - Dropping test database...
Success.


 - Removing privileges on test database...
Success.


Reloading the privilege tables will ensure that all changes
made so far will take effect immediately.


Reload privilege tables now? (Press y|Y for Yes, any other key for No) : Y
Success.


All done! 

[root@DBA-Master ~]# mysql -uroot -p


Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 13
Server version: 5.7.33 MySQL Community Server (GPL)


Copyright (c) 2000, 2021, Oracle and/or its affiliates.


Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.


Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.


mysql> select @@port;
+--------+
| @@port |
+--------+
|   4545 |
+--------+
1 row in set (0.00 sec)


mysql> \q

Here is the video Presentation to Change default Port and secure mysql with mysql_secure_installation in MySQL .

MySQL port has been changed successfully from 3306 to 4545 .

How do I change the port number on my workbench?

Configure MySQL Workbench.
Enter a name for the connection in the “Connection Name” field..
Select “Standard (TCP/IP)” as the “Connection Type”..
Enter your server's IP address in the “Hostname” field..
Specify the “Port” as “3306”..
Specify the “Username” as “root”..

Can I change MySQL port number?

Edit the my. cnf file to change the built-in MySQL port. In the [mysqld] section, change the value for port .

How can I change MySQL port from 0 to 3306?

You need to edit your mysql config file, my. cnf in /etc/my. cnf and change the port to 3306. Then restart mysql.

How do I find my MySQL workbench port number?

Another way to find out the port which MySQL Server is using on Windows is , Go to my. ini file that is MySQL configuration file and you can check the port. To find the my. ini file for MySQL Server, you can go to services and then go to properties.