What is the problem with setting the root password by mysql?

background:

Log in to the server with root permissions, and install mysql, using mysqladmin to set the password to xxx for the user with the user name "root".

question:

  • log in to the server under the original root account, and then use the mysql command directly to log in to mysql; without entering a password

  • Log in to the server using the private key with the user name test. There are the following situations:

1. Directly use the mysql command prompt Access denied for user "test"@"localhost ;
pxxx 2. While using mysql-uroot-pxxx prompts Access denied for user" root"@"localhost ;
password 3. In addition, using sudo mysql succeeds and does not require mysql password

expected result:

In the case of

mysql with only one user User= "root", any account that logs in to the server needs to enter a password to enter mysql, without adding sudo , that is, similar to mysql-uroot-pxxx , is that OK?

Oct.29,2021

@ Yujiaao


1.root user logs in to OS:

< table > < thead > < tr > < th > mysql > select user,host from mysql.user; < / th > < / tr > < / thead > < tbody > < tr > < td > user < / td > < td > host < / td > < / tr > < tr > < td > root < / td > < td > localhost < / td > < / tr > < / tbody > < / table >

1 row in set (0.00 sec)

mysql > exit
Bye
[root@mysql3 ~]-sharp mysql
Welcome to the MySQL monitor. Commands end with; or g.
Your MySQL connection id is 20
Server version: 5.6.41-log MySQL Community Server (GPL)

Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.

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.

< table > < thead > < tr > < th > mysql > select user (); < / th > < / tr > < / thead > < tbody > < tr > < td > user () < / td > < / tr > < tr > < td > root@localhost < / td > < / tr > < / tbody > < / table >

1 row in set (0.00 sec)

mysql > exit
Bye

2.sam users log in to OS:
[sam@mysql3 ~] $mysql
ERROR 1045 (28000): Access denied for user 'sam'@'localhost' (using password: YES)
[sam@mysql3 ~] $mysql-uroot-psam123
Warning: Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor.) Commands end with; or g.
Your MySQL connection id is 22
Server version: 5.6.41-log MySQL Community Server (GPL)

Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.

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.

< table > < thead > < tr > < th > mysql > select user (); < / th > < / tr > < / thead > < tbody > < tr > < td > user () < / td > < / tr > < tr > < td > root@localhost < / td > < / tr > < / tbody > < / table >

1 row in set (0.00 sec)

is this what you want?

Menu