0

Below is my running mysql instance:

sudo systemctl status mysqld
● mysqld.service - MySQL 8.0 database server
   Loaded: loaded (/usr/lib/systemd/system/mysqld.service; disabled; vendor preset: disabled)
   Active: active (running) since Thu 2022-09-22 16:49:09 UTC; 9s ago
  Process: 229030 ExecStartPost=/usr/libexec/mysql-check-upgrade (code=exited, status=0/SUCCESS)
  Process: 228946 ExecStartPre=/usr/libexec/mysql-prepare-db-dir mysqld.service (code=exited, status=0/SUCCESS)
  Process: 228921 ExecStartPre=/usr/libexec/mysql-check-socket (code=exited, status=0/SUCCESS)
 Main PID: 228984 (mysqld)
   Status: "Server is operational"
    Tasks: 39 (limit: 24879)
   Memory: 390.6M
   CGroup: /system.slice/mysqld.service
           └─228984 /usr/libexec/mysqld --basedir=/usr

Sep 22 16:49:08 SGGS systemd[1]: Starting MySQL 8.0 database server...
Sep 22 16:49:09 SGGS systemd[1]: Started MySQL 8.0 database server.

Below are mysql packages that are installed.

$ yum list installed | grep mysql
mysql.x86_64                                8.0.26-1.module_el8.4.0+915+de215114     @appstream
mysql-common.x86_64                         8.0.26-1.module_el8.4.0+915+de215114     @appstream
mysql-errmsg.x86_64                         8.0.26-1.module_el8.4.0+915+de215114     @appstream
mysql-server.x86_64                         8.0.26-1.module_el8.4.0+915+de215114     @appstream

Below are the configuration files:

$ cat /etc/my.cnf
#
# This group is read both both by the client and the server
# use it for options that affect everything
#
[client-server]

#
# include all files from the config directory
#
!includedir /etc/my.cnf.d

and

$ ls -ltr /etc/my.cnf.d
total 12
-rw-r--r--. 1 root root 295 Dec 17  2020 client.cnf
-rw-r--r--. 1 root root 565 Sep  1  2021 mysql-default-authentication-plugin.cnf
-rw-r--r--. 1 root root 612 Sep  1  2021 mysql-server.cnf

$ cat /etc/my.cnf.d/*
#
# These two groups are read by the client library
# Use it for options that affect all clients, but not the server
#


[client]

# This group is not read by mysql client library,
# If you use the same .cnf file for MySQL and MariaDB,
# use it for MariaDB-only client options
[client-mariadb]

#
# MySQL 8.0.4 introduced 'caching_sha2_password' as its default authentication plugin.
# It is faster and provides better security then the previous default authentication plugin.
#
# Until now (09/2018), it does not work with some other software (eg. MariaDB client, MariaDB connectors,  ...)
#
# This configuration file changes MySQL default server configuration, so it behaves the same way as in MySQL 5.7.
#
# To change the behaviour back to the upstream default, comment out the following lines:

[mysqld]
default_authentication_plugin=mysql_native_password
#
# This group are read by MySQL server.
# Use it for options that only the server (but not clients) should see
#
# For advice on how to change settings please see
# http://dev.mysql.com/doc/refman/en/server-configuration-defaults.html

# Settings user and group are ignored when systemd is used.
# If you need to run mysqld under a different user or group,
# customize your systemd unit file for mysqld according to the
# instructions in http://fedoraproject.org/wiki/Systemd

[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
log-error=/var/log/mysql/mysqld.log
pid-file=/run/mysqld/mysqld.pid

Right after setup I wrote and ran the below script to create user and Database:

$ cat mysql.create

PASSWDDB="NGPASS@12"
MAINDB="NGSGGS_DB"

mysql -P 3306 -e "CREATE DATABASE ${MAINDB} /*\!40100 DEFAULT CHARACTER SET utf8 */;"
mysql -P 3306 -e "CREATE USER ${MAINDB}@localhost IDENTIFIED BY '${PASSWDDB}';"
mysql -P 3306 -e "GRANT ALL PRIVILEGES ON ${MAINDB}.* TO '${MAINDB}'@'localhost';"
mysql -P 3306 -e "FLUSH PRIVILEGES;"

However, running the script got me the below error:

$ ./mysql.create
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

Note: This is a plain fresh installation and I have not made any significant changes to the database.

These are the only logging after the first start:

 $ vi /var/log/mysql/mysqld.log
2022-09-23T05:13:05.359946Z 0 [System] [MY-010116] [Server] /usr/libexec/mysqld (mysqld 8.0.26) starting as process 243792
2022-09-23T05:13:05.370217Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.
2022-09-23T05:13:05.561488Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended.
2022-09-23T05:13:05.748196Z 0 [Warning] [MY-013746] [Server] A deprecated TLS version TLSv1 is enabled for channel mysql_main
2022-09-23T05:13:05.748300Z 0 [Warning] [MY-013746] [Server] A deprecated TLS version TLSv1.1 is enabled for channel mysql_main
2022-09-23T05:13:05.749569Z 0 [Warning] [MY-010068] [Server] CA certificate ca.pem is self signed.
2022-09-23T05:13:05.749714Z 0 [System] [MY-013602] [Server] Channel mysql_main configured to support TLS. Encrypted connections are now supported for this channel.
2022-09-23T05:13:05.766115Z 0 [System] [MY-011323] [Server] X Plugin ready for connections. Bind-address: '::' port: 33060, socket: /var/lib/mysql/mysqlx.sock
2022-09-23T05:13:05.766181Z 0 [System] [MY-010931] [Server] /usr/libexec/mysqld: ready for connections. Version: '8.0.26'  socket: '/var/lib/mysql/mysql.sock'  port: 3306  Source distribution.

Tried the below as well and I get the same error:

 $ sudo mysql -u root -p'p@sSw0rd'  -e  "CREATE DATABASE ${MAINDB} /*\!40100 DEFAULT CHARACTER SET utf8 */;"
mysql: [Warning] Using a password on the command line interface can be insecure.
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

I also tried resetting the password but same error:

$ mysql_secure_installation

Securing the MySQL server deployment.

Enter password for user root:
Error: Access denied for user 'root'@'localhost' (using password: YES)

Can you please suggest?

2
  • @ErgestBasha i tried but it still fails with error: mysql -u root -p'p@sSw0rd' -P 3306 -e "FLUSH PRIVILEGES;" Output: mysql: [Warning] Using a password on the command line interface can be insecure. ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES) Commented Sep 22, 2022 at 17:23
  • I shared last line just for sake it is short. I get the same error for starting the first line i.e sudo mysql -u root -p'p@sSw0rd' -e "CREATE DATABASE ${MAINDB} /*\!40100 DEFAULT CHARACTER SET utf8 */;" Commented Sep 22, 2022 at 17:30

1 Answer 1

1

The issue was due to yum remove mysql-server was not clearing all files and I had to manually delete the folder rm -rf /var/lib/mysql after which a fresh installation helped me log in without password.

Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.