Do these 3 things before closing this tab:
1Repair Windows errors before they cause bigger problems2Scan for outdated or missing drivers - takes under a minute3Clear out junk files and repair common Windows errorsMySQL usually fails after a bind-address change for one of two reasons: the configured address is not assigned to the server when mysqld starts, or another process already owns the configured port. The first produces Can't start server: Bind on TCP/IP port: Cannot assign requested address; the second produces Can't start server: Bind on TCP/IP port: Address already in use.
Need a server to try this on? Antihost offers Linux VPS plans with NVMe storage, full root access and a 14-day free trial.
Check the service journal and MySQL error log first, then verify the address on a live interface, correct the configuration, restart the right service, and test TCP separately from the Unix socket. If MySQL starts but remote clients still fail, check skip_networking, the listening interface, port 3306 firewalls, and account access.
As an Amazon Associate I earn from qualifying purchases.
Free tools Windows power users keep installed
One-click scans. No signup required.
Why changing bind-address can stop MySQL from starting
bind-address tells MySQL which local interface address should accept TCP connections. It is not a destination address for clients; it must already belong to the machine running mysqld at startup. If you configure an address that DHCP has removed, a cloud provider has reassigned, a container no longer owns, or an interface has not brought up yet, the operating system cannot create the listening socket. MySQL then exits instead of starting normally.
The exact error identifies this condition: Can't start server: Bind on TCP/IP port: Cannot assign requested address. A different message, Can't start server: Bind on TCP/IP port: Address already in use, means the address may be valid but another process already has the TCP port. Treat these as separate incidents; changing the address will not fix a port collision, and stopping a competing process will not make a missing address appear.
#1 Best Overall
- [Ultra-Lightweight Ear Buds Designed for Small Ears] Each earbud weighs only 3.7g and features a compact, ergonomic in-ear design made especially for small ears. Secure, low-profile, and comfortable for workouts, all-day wear or overnight sleeping.The ultra-slim profile sits flush in your ear with no hard edges poking or rubbing, so you can even sleep on your side without discomfort.
- [Immersive Stereo Sound with TOZO OrigX Technology] TOZO OrigX tuning delivers clear vocals, balanced mids, and natural stereo sound for music, podcasts, and videos.
- [Long Battery Life for Daily Use] Get up to 7 hours of playtime on a single charge, with up to 32 hours total using the charging case—ideal for workdays, commuting, and extended listening sessions.
- [Bluetooth 5.3 & Stable Connection] Bluetooth 5.3 provides fast pairing, stable wireless performance, and reduced dropouts as you move around home or office.
- [Deep Bass with Clear Vocals] High-performance drivers produce punchy bass while keeping vocals clean and detailed for everyday listening.
A successful local login does not by itself prove that TCP is available. A client using localhost commonly chooses MySQL’s Unix socket. TCP must be tested explicitly with an IP address or a TCP protocol option.
First response: identify the exact startup failure
Do not repeatedly restart the daemon before reading its output. On a systemd distribution, the service is commonly named mysql or mysqld; use the name installed by your distribution.
- Check the unit status:
sudo systemctl status mysql --no-pager. If that unit does not exist, runsudo systemctl status mysqld --no-pager. - Read the current boot’s unit journal:
sudo journalctl -u mysql -b --no-pager, or substitutemysqldfor the unit name. Look for the first MySQL error, not only the final systemd summary. - Inspect the MySQL error log if your installation writes one outside journald. Startup diagnostics commonly include data-directory, grant-table, address, and port failures. The configured log location is distribution- and package-dependent, so use the path shown in the unit output or MySQL configuration.
- Copy the complete bind-related line.
Cannot assign requested addressrequires an interface/address check;Address already in userequires a listener check.
When the service name is uncertain, list likely units with systemctl list-unit-files | grep -E 'mysql|mysqld'. Avoid editing multiple configuration files until you know which one the running package reads; duplicate bind-address entries can make troubleshooting confusing.
Fix “Cannot assign requested address”
Confirm whether the configured address exists now
Display every address assigned to the host with ip address show. Compare the value after bind-address = with the addresses shown under the active interface. An address that is merely routable is not enough: it must be locally assigned at the moment MySQL calls the operating system’s bind operation.
Check interface state as well as the address. A network device can exist but remain down during early boot, and a DHCP lease can change after a reboot. Cloud instances may receive a new private address after stop/start operations. Containers and virtual machines can also see different interfaces from the host. If the old address is absent, the bind failure is expected.
Rank #2
- 【IP68 Waterproof Multifunctinal Smart Watch】Torjalph fitness activity tracker smart watch is IP68 waterproof technology ,you can wear it when swimming,handwashing,it's rain-proof which means that you perform multiple exercise modes outside without worrying about sweat or rain corroding your fitness smart watch,and this watch equipped with a 230 mAh large capacity battery magnetic charging ,and this sports activity tracker watch can be used 5-7 days If fully charged.
- 【Larger 1.83'' Full Screen Watch & Multi-dial Selection】1.83 inch full HD color touch screen smart watch for men / women provides excellent 240*284 resolution image quality ,This Bluetooth smart watch offers a better touch experience and remarkable immersion and ,more than 200 watch faces for you to choose from App"Da Fit ", you can change the dial style according to your mood to wear keeping the world on your wrist
- 【Accurate Activity Tracker Smart Watch 】sports watch activity tracker uses sweat and dust resistant breathable silicone strap, our Fitness Tracker Smart Watch for Android iOS Phones supports 12 sports modes,walking,running,bicycle,swimming,badminton,basketball,football,rope skipping. This bluetooth calls smart watch for men women is lightweight and stylish, bringing more convenient and relaxing sports experience while also providing more protection.
- 【Your 24 Hour Personal Daily Health Monitor】Fitness watch for women men full touch screen IP67 waterproof bluetooth smartwatch for Android iOS Phones with heart rate blood pressure monitor multifunction Andriod smart watch with steps counter sleep monitor sports fitness watch, monitoring blood oxygen saturation allows you to understand your physical condition in real time to track fitness progress ,to know your health status in time.
- 【More Functions Bluetooth Call Smart Watch】This fitness activity smart watch full screen for iPhone and Android phones includes a bunch of new features including:The bluetooth smart watch can hang up the phone, receive and display WhatsAPP /Text /Facebook /Twitter /Messenger reminder.Support sedentary reminder, alarm clock, stopwatch, timer,weather information,music control, remote camera control compatible with Android 5.0 and above or iOS 9.0 and above smartphones.
Choose a valid replacement
Replace the stale value with an address that is present before the database starts, or choose a deliberate loopback or wildcard policy. On Ubuntu, the packaged server configuration is commonly /etc/mysql/mysql.conf.d/mysqld.cnf; other distributions use a different included file. Edit the file that your package actually loads and keep one effective bind-address setting.
Outdated Drivers Are Slowing You Down
One free scan finds every outdated or missing driver and matches the right update for your exact hardware.Free scan · exact hardware matchWindows Errors? Fix Them Before They Spread
Repair common Windows errors and clear accumulated junk for a smoother, more stable PC - no reinstall needed.Free scan · no reinstallFor example, a host whose current private address is 192.168.0.5 can use:
bind-address = 192.168.0.5
Ubuntu’s documented example uses this form and requires a restart before the new value takes effect. Save the file, validate that the address still appears in ip address show, and restart the service using its actual unit name.
Restart and confirm the result
- Restart MySQL:
sudo systemctl restart mysql, or usemysqldif that is your unit. - Immediately check status:
sudo systemctl status mysql --no-pager. - If it fails again, read the new journal entries with
sudo journalctl -u mysql -b -n 100 --no-pager. A changed error may reveal a second issue, such as a port collision or a configuration typo.
If the address is supplied dynamically, fixing the file alone may not be durable. Make the interface obtain its address before the database starts, reserve a stable address in the network or cloud configuration, or bind to a policy that matches your connectivity requirements. Do not assume an address that happened to work during one boot will remain assigned after a lease renewal or instance replacement.
Fix “Address already in use”
This message means another listener owns the TCP port selected by MySQL. MySQL’s default TCP port is 3306. The existing listener may be another mysqld process, a second installation, a container, or an unrelated application.
The Tool Desk
Outbyte PC Repair FREEClear out junk files and repair common Windows errorsFree Scan →Outbyte Driver Updater FREEFix the driver behind crashes, sound loss and screen glitchesFind Drivers →Rank #3
- [Low Noise High Fidelity] New bee guitar cord with 22AWG oxygen-free-copper center conductors provides enhanced signal transfer, the PVC insulation material and the high-density stranded copper double shield provide noise rejection for quiet operation
- [Ideal for Choice] New bee 1/4 straight and right angle metal connectors, ensures a secure connection in any instrument, pedal, or amp jack. L shape great fro on stage guitar stands
- [Wide Compatible] Suitable for mixer, power amplifier, microphone, effector, decoder, equalizer, electoronic organ, electric guitar, electric bass and other electronic equipments. Widely used in the installation of smart home, karaoke speaker, professional stage audio, etc
- [Easy Disassemble] Making incidental repairs quick and easy! Very nice, flexible cable
- [Dont Hesite to Order] 24 hours customer services and professional technology team are standing by
- Show listening TCP sockets and owning processes:
sudo ss -ltnp | grep ':3306'. If your installation uses another port, search for that port instead. - Identify the process ID and command in the output. Confirm whether it is the intended MySQL instance, an orphaned process, or a different service.
- If a duplicate MySQL instance is running, stop it through its own service manager rather than killing an unknown process. For an unrelated service, stop or reconfigure it only after confirming that doing so is safe.
- If both services are required, assign one a different port and update every client, firewall rule, and service definition that must reach it.
- Restart the intended MySQL unit and check the journal again.
Do not solve a collision by changing bind-address to an address that is not assigned. Address selection and port ownership are independent checks. A valid interface with a free port is required for startup.
Which bind-address value should you use?
| Value | Interfaces exposed | Address stability | Local and remote behavior | Controls required |
|---|---|---|---|---|
127.0.0.1 |
Only the IPv4 loopback interface | Stable on the host | Local TCP works; remote TCP clients are rejected. Unix-socket clients can still work. | No remote firewall opening is needed, but local account permissions still apply. |
A specific current server address, such as 192.168.0.5 |
Only the selected local interface | Depends on DHCP, cloud addressing, and interface availability | TCP clients can reach that interface; local clients can use TCP through that address or the Unix socket. | Permit only intended networks in host and cloud firewalls and ensure MySQL accounts allow the clients. |
0.0.0.0 |
All IPv4 interfaces | Unaffected by which individual IPv4 address is assigned | TCP is exposed wherever the host has an IPv4 interface; Unix-socket behavior is unchanged. | Strict firewall rules and account-access controls are essential because every IPv4 interface may accept connections. |
127.0.0.1 is appropriate when no remote client should connect. A specific address limits exposure but creates a dependency on that address being present before startup. 0.0.0.0 avoids binding to one changing IPv4 address, but it broadens the network surface and should be used only with deliberate firewall and account controls. The wildcard choice is operational guidance, not a blanket security recommendation.
Edit the right configuration file and restart correctly
Package layouts differ, but the setting is usually inside a server section such as [mysqld]. On Ubuntu, inspect /etc/mysql/mysql.conf.d/mysqld.cnf first. Other distributions may include a file under /etc/my.cnf.d/ or use /etc/my.cnf. The authoritative file is the one referenced by the installed service and included configuration.
- Back up the file before editing:
sudo cp /etc/mysql/mysql.conf.d/mysqld.cnf /etc/mysql/mysql.conf.d/mysqld.cnf.backup(adjust the path to your system). - Set one intentional line under
[mysqld], for examplebind-address = 127.0.0.1for local-only access. - Check for another active setting in included files so a later file does not override your edit.
- Save the file and restart the service. A restart is required; editing the file does not change an already-running listener.
- Read the journal after the restart and verify the socket before attempting remote troubleshooting.
If the daemon refuses to start after an edit, restore the backup to return to the last known configuration, then reapply one change at a time. Keep formatting simple: the option name is bind-address, and the value must be an address assigned to the host or an intentional wildcard/loopback value.
Verify the listener instead of relying on localhost
Inspect listening sockets
Use ss to see exactly where MySQL is listening:
sudo ss -ltnp | grep ':3306'
A listener on 127.0.0.1:3306 accepts local TCP only. A listener on a specific address accepts traffic through that interface. A listener on 0.0.0.0:3306 indicates all IPv4 interfaces are candidates, subject to firewall policy. If no line appears, MySQL is not listening on TCP even if the service reports as running.
Rank #4
- Digital Family Calendar: BSIMB digital calendar wall touch screen puts an end to your chaotic life. Designed for busy families, the digital calendar keeps you organised and in step with your family. Assign different colours and tasks to each family member to make family scheduling easier and more intuitive.
- Easy Setup and Auto-Sync: Plug in, connect to WLAN and auto-syn your electric calendar in minutes. Digital wall calendar compatible with Google calendar, iCloud calendar, Outlook calendar, Cozi calendar and Yahoo calendar. Add events directly on the device or through the ecalendar app. Electronic calendar stays current whether you're at work or traveling—no manual updates needed.
- All-In-One Home Assistant: Smart calendar builds habits and encourage independence with personalised chores. Display daily meal plan to reduce the daily ‘What's for dinner?’ stress. To-do lists keep track of everything you want. Turning chores into valuable achievements with stars and rewards, making life easier and more enjoyable.
- Manage Anytime Anywhere: BSIMB electronic calendar for family stay connected with the powerful ecalendar app. Access and manage your digital wall calendar anytime, anywhere with free features like stars & rewards, photo screensaver, chore charts, meals plans, to-do lists etc. Electronic planner paid features like Magic Import tailor advanced tools for users with special needs.
- Stay in Touch with Loved Ones: Share photos or videos from your phone to electronic wall calendar with app, instantly update your life moment, and keep in touch with your family, especially those who are far away; you can also surprise your smart calendar digital wall by sending him a wish card; it's also great for keeping tech-illiterate elders in touch with the youngsters.
Test Unix socket and TCP as separate paths
First test an explicit loopback TCP connection:
mysql --protocol=TCP -h 127.0.0.1 -u root -p
Then test the server’s selected address, replacing the example with the address shown by ip address show:
mysql --protocol=TCP -h 192.168.0.5 -u root -p
These tests distinguish a TCP problem from a socket-only success. A command that uses mysql -u root -p without a host may choose a Unix socket and therefore succeed when TCP is disabled or bound only to loopback.
When MySQL starts but remote clients cannot connect
Check skip_networking
If the server was started with skip_networking enabled, it cannot accept TCP/IP connections at all. Remove or disable that setting when TCP clients are required, restart MySQL, and verify that a TCP listener appears. A Unix-socket login can continue to work while TCP remains completely disabled, so both paths must be tested.
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
Check whether bind-address is local-only
With bind-address = 127.0.0.1, MySQL listens for TCP only on loopback and does not accept remote connections. Change it to the intended current server address or another deliberate policy, restart, and inspect the resulting listener. Do not change it to a stale private address; that returns the startup failure described earlier.
Check host and cloud firewalls
Even a correctly bound listener can be unreachable when TCP port 3306 is blocked. Permit 3306 only from the client networks that need it in the host firewall and any cloud security group or network ACL. Opening the port to every source creates unnecessary exposure. Firewall changes cannot repair a daemon that failed to start or a daemon listening only on loopback.
Best Value
Check account access separately
After the network path works, MySQL still evaluates the account and host permitted for the client. A connection that reaches the server can fail authentication or authorization even though the listener and firewall are correct. Keep network reachability, MySQL account host rules, and credentials as separate troubleshooting layers.
Common scenarios and the shortest safe fix
The server address changed after a reboot
Read ip address show, replace the obsolete value with the current assigned address, restart MySQL, and then decide whether a stable reservation or a different bind policy is needed. If the address changes regularly, document that dependency so the next lease change does not look like a database failure.
The interface appears after MySQL starts
Boot ordering can leave the address unavailable when the database service starts. Ensure the network is considered online before the MySQL unit is launched, or avoid binding to an address whose availability is not guaranteed. Verify the fix across a reboot rather than assuming a manual restart proves the ordering is correct.
A second MySQL process owns port 3306
Use ss -ltnp to identify the owner, then stop the duplicate service or move one instance to a different port. Check containers and alternate package installations; they can run independently of the service you normally manage.
Local commands work, remote commands fail
Force TCP with --protocol=TCP, inspect the listener address, check skip_networking, and review firewall rules. If the listener is correct and packets arrive, investigate MySQL account host permissions rather than changing bind-address again.
A repeatable diagnostic checklist
- Record whether the error says
Cannot assign requested addressorAddress already in use. - Use the correct systemd unit name,
mysqlormysqld, and read its journal. - Compare the configured value with
ip address showwhile the interface is active. - Check port ownership with
sudo ss -ltnp | grep ':3306'. - Edit the package’s active server configuration, not an unused copy.
- Restart the daemon after every effective configuration change.
- Verify the resulting listener and its address.
- Test Unix-socket and explicit TCP connections independently.
- For remote access, confirm
skip_networkingis not enabled, the bind value is not loopback-only, port 3306 is permitted by host and cloud firewalls, and the MySQL account permits the client host.
The reliable fix is therefore specific: bind MySQL to an address that exists when the service starts, or intentionally choose loopback or wildcard behavior; free or change a conflicting port; restart the correct unit; and verify the actual TCP listener before diagnosing remote authentication or firewall problems.
Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

