Why does removing `skip-grant-tables` cause resource conflict error for mysqld?
0
votes
0
answers
50
views
After hours of searching, I have managed to narrow a mysqld issue down to a point, which I cannot find reason for.
I am attempting to launch multiple instances of mysqld on my Ubuntu server. When running a single instance, my process is as follows:
1) Run mysqld with an options file containing
skip-grant-tables
2) Use the mysql client to FLUSH PRIVILEGES;
and allow root
@localhost
to access the server.
3) Kill the mysqld process
4) Remove the line skip-grant-tables
from the options file
5) Relaunch mysqld
when desired
This works without issue. When I attempt to launch a second instance of mysqld, the above steps work fine also - except I cannot include step (4).
If I include skip-grant-tables
in my options file, mysqld launches without issue. If I remove skip-grant-tables
, I get several errors:
2024-04-16T19:31:36.478828Z 0 [ERROR] [MY-011292] [Server] Plugin mysqlx reported: 'Preparation of I/O interfaces failed, X Protocol won't be accessible'
2024-04-16T19:31:36.478932Z 0 [ERROR] [MY-011300] [Server] Plugin mysqlx reported: 'Setup of bind-address: '*' port: 33060 failed, bind()
failed with error: Address already in use (98). Do you already have another mysqld server running with Mysqlx ?'
2024-04-16T19:31:36.478966Z 0 [ERROR] [MY-013597] [Server] Plugin mysqlx reported: 'Value '*' set to Mysqlx_bind_address
, X Plugin can't bind to it. Skipping this value.
2024-04-16T19:31:36.479059Z 0 [ERROR] [MY-011300] [Server] Plugin mysqlx reported: 'Setup of socket: '/tmp/mysqlx.sock' failed, another process with PID 419201 is using UNIX socket file'
2024-04-16T19:31:36.636815Z 0 [Warning] [MY-010068] [Server] CA certificate ca.pem is self signed.
2024-04-16T19:31:36.636894Z 0 [System] [MY-013602] [Server] Channel mysql_main configured to support TLS. Encrypted connections are now supported for this channel.
2024-04-16T19:31:36.644131Z 0 [ERROR] [MY-010262] [Server] Can't start server: Bind on TCP/IP port: Address already in use
2024-04-16T19:31:36.644151Z 0 [ERROR] [MY-010257] [Server] Do you already have another mysqld server running on port: 3306 ?
2024-04-16T19:31:36.644169Z 0 [ERROR] [MY-010119] [Server] Aborting
2024-04-16T19:31:38.237950Z 0 [System] [MY-010910] [Server] /rootInstallDir/mysql/bin/mysqld: Shutdown
2024-04-16T19:31:38.237978Z 0 [System] [MY-015016] [Server] MySQL Server - end.
I am using UNIX socket files, not ports, so I'm not sure why ports are being mentioned. Excluding log settings, my options file is:
[mysqld]
socket=/tmp/unique.sock
pid_file=/unique/path.pid
datadir=/unique/path
After many hours searching, advice, guidance or an explanation of what is causing this issue is greatly appreciated.
Update
------
After further testing, I am confident the error is due to the presence of skip-grant-tables
as I execute the following steps:
1) Run mysqld with options file containing skip-grant-tables
. mysqld runs successfully
2) I start a second instance with skip-grant-tables
. mysqld runs successfully
3) I kill the second instance
4) I start a second instance without skip-grant-tables
. mysqld exits soon after starting with the error detailed above.
5) I add skip-grant-tables
to the options file and start a second instance. mysqld runs successfully.
Why will mysqld not start without skip-grant-tables
?
Asked by user10709800
(21 rep)
Apr 16, 2024, 08:10 PM
Last activity: Apr 17, 2024, 08:31 AM
Last activity: Apr 17, 2024, 08:31 AM