MySQL数据库安装后的安全设置

Posted 白_胖_子

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL数据库安装后的安全设置相关的知识,希望对你有一定的参考价值。

导语:

已经通过报的方式安装了mysql,装完之后有些安全设置必须要做。
装完以后数据库已经可以使用了,但是有安全风险。
风险在访问数据库不需要任何信息就可以访问。

[10:17:02 root@C8[ ~]#mysql
Welcome to the MariaDB monitor.  Commands end with ; or g.
Your MariaDB connection id is 8
Server version: 10.4.13-MariaDB MariaDB Server

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

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

MariaDB [(none)]> 

先期检查

查看一下服务器端程序状态

  • 服务器端主程序:1035 (mysqld)
  • 主程序路径:/usr/sbin/mysqld
[10:15:59 root@C8[ ~]#systemctl status mysql
● mariadb.service - MariaDB 10.4.13 database server
   Loaded: loaded (/usr/lib/systemd/system/mariadb.service; enabled; vendor preset: >
  Drop-In: /etc/systemd/system/mariadb.service.d
           └─migrated-from-my.cnf-settings.conf
   Active: active (running) since Thu 2020-06-04 10:15:21 CST; 50s ago
     Docs: man:mysqld(8)
           https://mariadb.com/kb/en/library/systemd/
  Process: 1192 ExecStartPost=/bin/sh -c systemctl unset-environment _WSREP_START_PO>
  Process: 1011 ExecStartPre=/bin/sh -c [ ! -e /usr/bin/galera_recovery ] && VAR= ||>
  Process: 984 ExecStartPre=/bin/sh -c systemctl unset-environment _WSREP_START_POSI>
 Main PID: 1035 (mysqld)  #***服务器端主程序***
   Status: "Taking your SQL requests now..."
    Tasks: 30 (limit: 11330)
   Memory: 100.8M
   CGroup: /system.slice/mariadb.service
           └─1035 /usr/sbin/mysqld #***主程序路径***

Jun 04 10:15:21 C8 mysqld[1035]: 2020-06-04 10:15:21 0 [Note] InnoDB: 10.4.13 starte>
Jun 04 10:15:21 C8 mysqld[1035]: 2020-06-04 10:15:21 0 [Note] Plugin ‘FEEDBACK‘ is d>
Jun 04 10:15:21 C8 mysqld[1035]: 2020-06-04 10:15:21 0 [Note] InnoDB: Loading buffer>
Jun 04 10:15:21 C8 mysqld[1035]: 2020-06-04 10:15:21 0 [Note] InnoDB: Buffer pool(s)>
Jun 04 10:15:21 C8 mysqld[1035]: 2020-06-04 10:15:21 0 [Note] Server socket created >
Jun 04 10:15:21 C8 mysqld[1035]: 2020-06-04 10:15:21 0 [Note] Reading of all Master_>
Jun 04 10:15:21 C8 mysqld[1035]: 2020-06-04 10:15:21 0 [Note] Added new Master_info >
Jun 04 10:15:21 C8 mysqld[1035]: 2020-06-04 10:15:21 0 [Note] /usr/sbin/mysqld: read>
Jun 04 10:15:21 C8 mysqld[1035]: Version: ‘10.4.13-MariaDB‘  socket: ‘/var/lib/mysql>
Jun 04 10:15:21 C8 systemd[1]: Started MariaDB 10.4.13 database server.

查看主程序进程信息

通过查看进程信息,我们可以看到,主进程是通过mysql这个用户运行的。
这个进程是一个l,目前mysql运行的方式是以多线程运行的。

[10:21:55 root@C8[ ~]#ps aux | grep 1035
mysql      1035  0.0  4.9 1298628 92332 ?       Ssl  10:15   0:00 /usr/sbin/mysqld
root       1823  0.0  0.0  12108  1028 pts/0    R+   10:26   0:00 grep --color=auto 1035

可以通过pstree查看进程树。可以通过 ps auxf 查看父进程。
有一个进程,里面生成了若干个线程。

[10:32:31 root@C8[ ~]#pstree -p |grep mysql
           |-mysqld(1035)-+-{mysqld}(1037)
           |              |-{mysqld}(1088)
           |              |-{mysqld}(1106)
           |              |-{mysqld}(1110)
           |              |-{mysqld}(1111)
           |              |-{mysqld}(1112)
           |              |-{mysqld}(1113)
           |              |-{mysqld}(1114)
           |              |-{mysqld}(1115)
           |              |-{mysqld}(1116)
           |              |-{mysqld}(1117)
           |              |-{mysqld}(1118)
           |              |-{mysqld}(1119)
           |              |-{mysqld}(1159)
           |              |-{mysqld}(1160)

确定mysql账号信息

可以看出mysql是安装软件时自动创建的

  • 用户mysql家目录:/var/lib/mysql
  • 用户mysql的Shell类型:/sbin/nologin
[10:32:41 root@C8[ ~]#cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
……
mysql:x:989:985:MySQL server:/var/lib/mysql:/sbin/nologin

查看目录/var/lib/mysql内容

/var/lib/mysql 里放的就是真正数据库的数据

[10:42:33 root@C8[ ~]#ll -h  /var/lib/mysql
total 121M
-rw-rw----. 1 mysql mysql  24K Jun  2 08:47 aria_log.00000001
-rw-rw----. 1 mysql mysql   52 Jun  2 08:47 aria_log_control
-rw-rw----. 1 mysql mysql    5 Jun  4 10:15 C8.pid
-rw-rw----. 1 mysql mysql  972 Jun  2 08:47 ib_buffer_pool
-rw-rw----. 1 mysql mysql  12M Jun  2 08:47 ibdata1
-rw-rw----. 1 mysql mysql  48M Jun  4 10:15 ib_logfile0
-rw-rw----. 1 mysql mysql  48M Jun  2 08:47 ib_logfile1
-rw-rw----. 1 mysql mysql  12M Jun  4 10:15 ibtmp1
-rw-rw----. 1 mysql mysql    0 Jun  2 08:56 multi-master.info
drwx------. 2 mysql mysql 4.0K Jun  2 08:47 mysql
srwxrwxrwx. 1 mysql mysql    0 Jun  4 10:15 mysql.sock
drwx------. 2 mysql mysql   20 Jun  2 08:47 performance_schema
drwx------. 2 mysql mysql   20 Jun  2 08:47 test

mysql内部账户

mysql有自己的用户账户列表,和系统的账户没有关系
用户的账户列表也是存放在数据库的这个目录里的

客户端工具mysql

在安装好服务器主程序的同时,已经安装好客户端程序,也叫mysql

[10:42:50 root@C8[ ~]#type mysql
mysql is hashed (/usr/bin/mysql)
[10:53:18 root@C8[ ~]#which mysql
/usr/bin/mysql

我们可以看一些这个工具来自哪个包

[11:21:21 root@C8[ ~]#rpm -qf `which mysql`
MariaDB-client-10.4.13-1.el8.x86_64

这个客户端工具可以用它来连接数据库,不仅可以用来连接当前主机的数据库,还可以用来连接远程主机的数据库。

连接本机的数据库

[11:21:26 root@C8[ ~]#mysql
Welcome to the MariaDB monitor.  Commands end with ; or g.
Your MariaDB connection id is 10
Server version: 10.4.13-MariaDB MariaDB Server

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

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

MariaDB [(none)]> 

安装好数据库之后,默认有3个实体数据库。
有一个数据库比较特殊,information_schema内存中的数据库,没有文件夹。

MariaDB [(none)]> show datanases;
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ‘datanases‘ at line 1
MariaDB [(none)]> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| test               |
+--------------------+
4 rows in set (0.005 sec)

进入默认mysql数据库

mysql文件夹中有很多很多的表

[11:39:39 root@C8[ ~]#ll -h  /var/lib/mysql/mysql
total 2.7M
-rw-------. 1 mysql mysql 2.1K Jun  2 08:47 columns_priv.frm
-rw-------. 1 mysql mysql 8.0K Jun  2 08:47 columns_priv.MAD
-rw-------. 1 mysql mysql 8.0K Jun  2 08:47 columns_priv.MAI
-rw-------. 1 mysql mysql 2.6K Jun  2 08:47 column_stats.frm
-rw-------. 1 mysql mysql 8.0K Jun  2 08:47 column_stats.MAD
-rw-------. 1 mysql mysql 8.0K Jun  2 08:47 column_stats.MAI
-rw-------. 1 mysql mysql 2.7K Jun  2 08:47 db.frm
-rw-------. 1 mysql mysql  16K Jun  2 08:47 db.MAD
-rw-------. 1 mysql mysql  24K Jun  2 08:47 db.MAI
-rw-------. 1 mysql mysql   65 Jun  2 08:47 db.opt
-rw-------. 1 mysql mysql 3.7K Jun  2 08:47 event.frm
-rw-------. 1 mysql mysql 8.0K Jun  2 08:47 event.MAD
-rw-------. 1 mysql mysql 8.0K Jun  2 08:47 event.MAI
-rw-------. 1 mysql mysql 1.6K Jun  2 08:47 func.frm
-rw-------. 1 mysql mysql 8.0K Jun  2 08:47 func.MAD
-rw-------. 1 mysql mysql 8.0K Jun  2 08:47 func.MAI
-rw-------. 1 mysql mysql   35 Jun  2 08:47 general_log.CSM
-rw-------. 1 mysql mysql    0 Jun  2 08:47 general_log.CSV
-rw-------. 1 mysql mysql  804 Jun  2 08:47 general_log.frm
-rw-------. 1 mysql mysql 1.5K Jun  2 08:47 global_priv.frm
-rw-------. 1 mysql mysql  16K Jun  2 08:47 global_priv.MAD
-rw-------. 1 mysql mysql  16K Jun  2 08:47 global_priv.MAI
-rw-------. 1 mysql mysql 1.0K Jun  2 08:47 gtid_slave_pos.frm
-rw-------. 1 mysql mysql  96K Jun  2 08:47 gtid_slave_pos.ibd
-rw-------. 1 mysql mysql 1.7K Jun  2 08:47 help_category.frm
-rw-------. 1 mysql mysql  16K Jun  2 08:47 help_category.MAD
-rw-------. 1 mysql mysql  24K Jun  2 08:47 help_category.MAI
-rw-------. 1 mysql mysql 1.6K Jun  2 08:47 help_keyword.frm
-rw-------. 1 mysql mysql  16K Jun  2 08:47 help_keyword.MAD
-rw-------. 1 mysql mysql  24K Jun  2 08:47 help_keyword.MAI
-rw-------. 1 mysql mysql  968 Jun  2 08:47 help_relation.frm
-rw-------. 1 mysql mysql  16K Jun  2 08:47 help_relation.MAD
-rw-------. 1 mysql mysql  16K Jun  2 08:47 help_relation.MAI
-rw-------. 1 mysql mysql 1.8K Jun  2 08:47 help_topic.frm
-rw-------. 1 mysql mysql 1.6M Jun  2 08:47 help_topic.MAD
-rw-------. 1 mysql mysql  40K Jun  2 08:47 help_topic.MAI
-rw-------. 1 mysql mysql 1.6K Jun  2 08:47 index_stats.frm
-rw-------. 1 mysql mysql 8.0K Jun  2 08:47 index_stats.MAD
-rw-------. 1 mysql mysql 8.0K Jun  2 08:47 index_stats.MAI
-rw-------. 1 mysql mysql 5.3K Jun  2 08:47 innodb_index_stats.frm
-rw-------. 1 mysql mysql  96K Jun  2 08:47 innodb_index_stats.ibd
-rw-------. 1 mysql mysql 1.9K Jun  2 08:47 innodb_table_stats.frm
-rw-------. 1 mysql mysql  96K Jun  2 08:47 innodb_table_stats.ibd
-rw-------. 1 mysql mysql 1.5K Jun  2 08:47 plugin.frm
-rw-------. 1 mysql mysql 8.0K Jun  2 08:47 plugin.MAD
-rw-------. 1 mysql mysql 8.0K Jun  2 08:47 plugin.MAI
-rw-------. 1 mysql mysql 3.5K Jun  2 08:47 proc.frm
-rw-------. 1 mysql mysql  16K Jun  2 08:47 proc.MAD
-rw-------. 1 mysql mysql  16K Jun  2 08:47 proc.MAI
-rw-------. 1 mysql mysql 2.9K Jun  2 08:47 procs_priv.frm
-rw-------. 1 mysql mysql 8.0K Jun  2 08:47 procs_priv.MAD
-rw-------. 1 mysql mysql 8.0K Jun  2 08:47 procs_priv.MAI
-rw-------. 1 mysql mysql 2.8K Jun  2 08:47 proxies_priv.frm
-rw-------. 1 mysql mysql  16K Jun  2 08:47 proxies_priv.MAD
-rw-------. 1 mysql mysql  24K Jun  2 08:47 proxies_priv.MAI
-rw-------. 1 mysql mysql 1.7K Jun  2 08:47 roles_mapping.frm
-rw-------. 1 mysql mysql 8.0K Jun  2 08:47 roles_mapping.MAD
-rw-------. 1 mysql mysql 8.0K Jun  2 08:47 roles_mapping.MAI
-rw-------. 1 mysql mysql 9.8K Jun  2 08:47 servers.frm
-rw-------. 1 mysql mysql 8.0K Jun  2 08:47 servers.MAD
-rw-------. 1 mysql mysql 8.0K Jun  2 08:47 servers.MAI
-rw-------. 1 mysql mysql   35 Jun  2 08:47 slow_log.CSM
-rw-------. 1 mysql mysql    0 Jun  2 08:47 slow_log.CSV
-rw-------. 1 mysql mysql 2.4K Jun  2 08:47 slow_log.frm
-rw-------. 1 mysql mysql 3.0K Jun  2 08:47 tables_priv.frm
-rw-------. 1 mysql mysql  16K Jun  2 08:47 tables_priv.MAD
-rw-------. 1 mysql mysql  24K Jun  2 08:47 tables_priv.MAI
-rw-------. 1 mysql mysql 1.4K Jun  2 08:47 table_stats.frm
-rw-------. 1 mysql mysql 8.0K Jun  2 08:47 table_stats.MAD
-rw-------. 1 mysql mysql 8.0K Jun  2 08:47 table_stats.MAI
-rw-------. 1 mysql mysql  971 Jun  2 08:47 time_zone.frm
-rw-------. 1 mysql mysql  969 Jun  2 08:47 time_zone_leap_second.frm
-rw-------. 1 mysql mysql 8.0K Jun  2 08:47 time_zone_leap_second.MAD
-rw-------. 1 mysql mysql 8.0K Jun  2 08:47 time_zone_leap_second.MAI
-rw-------. 1 mysql mysql 8.0K Jun  2 08:47 time_zone.MAD
-rw-------. 1 mysql mysql 8.0K Jun  2 08:47 time_zone.MAI
-rw-------. 1 mysql mysql 1.2K Jun  2 08:47 time_zone_name.frm
-rw-------. 1 mysql mysql 8.0K Jun  2 08:47 time_zone_name.MAD
-rw-------. 1 mysql mysql 8.0K Jun  2 08:47 time_zone_name.MAI
-rw-------. 1 mysql mysql 1011 Jun  2 08:47 time_zone_transition.frm
-rw-------. 1 mysql mysql 8.0K Jun  2 08:47 time_zone_transition.MAD
-rw-------. 1 mysql mysql 8.0K Jun  2 08:47 time_zone_transition.MAI
-rw-------. 1 mysql mysql 1.1K Jun  2 08:47 time_zone_transition_type.frm
-rw-------. 1 mysql mysql 8.0K Jun  2 08:47 time_zone_transition_type.MAD
-rw-------. 1 mysql mysql 8.0K Jun  2 08:47 time_zone_transition_type.MAI
-rw-------. 1 mysql mysql 2.6K Jun  2 08:47 transaction_registry.frm
-rw-------. 1 mysql mysql 144K Jun  2 08:47 transaction_registry.ibd
-rw-------. 1 mysql mysql  14K Jun  2 08:47 user.frm

相同文件名的每个表由多个不同文件组成。
数据库服务器上可以跑好多好多独立的数据库
每个数据库由好多张不同的表组成。

mysql内部用户文件表

user.frm 存放着用户信息,不是文本文件,不能直接看。
想要看user.frm这个表,需要先进入mysql这个数据库。

  • 使用use命令进入数据库mysql。(use可以理解为进入,实际是打开、加载、使用这些use的本意)类似于cd。
MariaDB [(none)]> use mysql
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
MariaDB [mysql]> 
  • 显示有哪些表
MariaDB [mysql]> show tables;
+---------------------------+
| Tables_in_mysql           |
+---------------------------+
| column_stats              |
| columns_priv              |
| db                        |
| event                     |
| func                      |
| general_log               |
| global_priv               |
| gtid_slave_pos            |
| help_category             |
| help_keyword              |
| help_relation             |
| help_topic                |
| index_stats               |
| innodb_index_stats        |
| innodb_table_stats        |
| plugin                    |
| proc                      |
| procs_priv                |
| proxies_priv              |
| roles_mapping             |
| servers                   |
| slow_log                  |
| table_stats               |
| tables_priv               |
| time_zone                 |
| time_zone_leap_second     |
| time_zone_name            |
| time_zone_transition      |
| time_zone_transition_type |
| transaction_registry      |
| user                      |
+---------------------------+
31 rows in set (0.000 sec)
  • 显示指定表中列的名称
    一个表中有很多行很多列,列名一般表示一列的用途
MariaDB [mysql]> desc user;
+------------------------+---------------------+------+-----+----------+-------+
| Field                  | Type                | Null | Key | Default  | Extra |
+------------------------+---------------------+------+-----+----------+-------+
| Host                   | char(60)            | NO   |     |          |       |
| User                   | char(80)            | NO   |     |          |       |
| Password               | longtext            | YES  |     | NULL     |       |
| Select_priv            | varchar(1)          | YES  |     | NULL     |       |
| Insert_priv            | varchar(1)          | YES  |     | NULL     |       |
| Update_priv            | varchar(1)          | YES  |     | NULL     |       |
| Delete_priv            | varchar(1)          | YES  |     | NULL     |       |
| Create_priv            | varchar(1)          | YES  |     | NULL     |       |
| Drop_priv              | varchar(1)          | YES  |     | NULL     |       |
| Reload_priv            | varchar(1)          | YES  |     | NULL     |       |
| Shutdown_priv          | varchar(1)          | YES  |     | NULL     |       |
| Process_priv           | varchar(1)          | YES  |     | NULL     |       |
| File_priv              | varchar(1)          | YES  |     | NULL     |       |
| Grant_priv             | varchar(1)          | YES  |     | NULL     |       |
| References_priv        | varchar(1)          | YES  |     | NULL     |       |
| Index_priv             | varchar(1)          | YES  |     | NULL     |       |
| Alter_priv             | varchar(1)          | YES  |     | NULL     |       |
| Show_db_priv           | varchar(1)          | YES  |     | NULL     |       |
| Super_priv             | varchar(1)          | YES  |     | NULL     |       |
| Create_tmp_table_priv  | varchar(1)          | YES  |     | NULL     |       |
| Lock_tables_priv       | varchar(1)          | YES  |     | NULL     |       |
| Execute_priv           | varchar(1)          | YES  |     | NULL     |       |
| Repl_slave_priv        | varchar(1)          | YES  |     | NULL     |       |
| Repl_client_priv       | varchar(1)          | YES  |     | NULL     |       |
| Create_view_priv       | varchar(1)          | YES  |     | NULL     |       |
| Show_view_priv         | varchar(1)          | YES  |     | NULL     |       |
| Create_routine_priv    | varchar(1)          | YES  |     | NULL     |       |
| Alter_routine_priv     | varchar(1)          | YES  |     | NULL     |       |
| Create_user_priv       | varchar(1)          | YES  |     | NULL     |       |
| Event_priv             | varchar(1)          | YES  |     | NULL     |       |
| Trigger_priv           | varchar(1)          | YES  |     | NULL     |       |
| Create_tablespace_priv | varchar(1)          | YES  |     | NULL     |       |
| Delete_history_priv    | varchar(1)          | YES  |     | NULL     |       |
| ssl_type               | varchar(9)          | YES  |     | NULL     |       |
| ssl_cipher             | longtext            | NO   |     |          |       |
| x509_issuer            | longtext            | NO   |     |          |       |
| x509_subject           | longtext            | NO   |     |          |       |
| max_questions          | bigint(20) unsigned | NO   |     | 0        |       |
| max_updates            | bigint(20) unsigned | NO   |     | 0        |       |
| max_connections        | bigint(20) unsigned | NO   |     | 0        |       |
| max_user_connections   | bigint(21)          | NO   |     | 0        |       |
| plugin                 | longtext            | NO   |     |          |       |
| authentication_string  | longtext            | NO   |     |          |       |
| password_expired       | varchar(1)          | NO   |     |          |       |
| is_role                | varchar(1)          | YES  |     | NULL     |       |
| default_role           | longtext            | NO   |     |          |       |
| max_statement_time     | decimal(12,6)       | NO   |     | 0.000000 |       |
+------------------------+---------------------+------+-----+----------+-------+
47 rows in set (0.001 sec)
  • 显示想要看的表中的列
    表中的值太多,选想要的列看内容

mysql的用户名由两部分组成,一部分是用户名,一部分是主机名
mysql中不仅需要验证用户名和密码,还要确保访问数据库的主机是合法的。

早期mysql密码存放在password中,现在存放在authentication_string中

MariaDB [mysql]> select user,host,password,authentication_string from user;
+-------------+-----------+----------+-----------------------+
| User        | Host      | Password | authentication_string |
+-------------+-----------+----------+-----------------------+
| mariadb.sys | localhost |          |                       |
| root        | localhost | invalid  | invalid               |
| mysql       | localhost | invalid  | invalid               |
|             | localhost |          |                       |
|             | c8        |          |                       |
+-------------+-----------+----------+-----------------------+
5 rows in set (0.001 sec)

mysql本身提供了一个超级用户root,权限很大。
Current user显示当前登录的用户

Current user:		root@localhost

有两个账户给特定服务用的 mariadb.sys 和mysql

还有两个空账户,代表匿名帐户,随便输入用户名都可以登录。
除了root都是普通账号

[12:29:25 root@C8[ ~]#mysql -ubaipangzi
Welcome to the MariaDB monitor.  Commands end with ; or g.
Your MariaDB connection id is 12
Server version: 10.4.13-MariaDB MariaDB Server

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

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

MariaDB [(none)]> status
--------------
mysql  Ver 15.1 Distrib 10.4.13-MariaDB, for Linux (x86_64) using readline 5.1

Connection id:		12
Current database:	
Current user:		baipangzi@localhost
SSL:			Not in use
Current pager:		stdout
Using outfile:		‘‘
Using delimiter:	;
Server:			MariaDB
Server version:		10.4.13-MariaDB MariaDB Server
Protocol version:	10
Connection:		Localhost via UNIX socket
Server characterset:	latin1
Db     characterset:	latin1
Client characterset:	utf8
Conn.  characterset:	utf8
UNIX socket:		/var/lib/mysql/mysql.sock
Uptime:			2 hours 14 min 29 sec

Threads: 7  Questions: 56  Slow queries: 0  Opens: 36  Flush tables: 1  Open tables: 30  Queries per second avg: 0.006
--------------

MariaDB [(none)]> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| test               |
+--------------------+
2 rows in set (0.000 sec)

MariaDB [(none)]> use mysql
ERROR 1044 (42000): Access denied for user ‘‘@‘localhost‘ to database ‘mysql‘

查看当前数据库状态

MariaDB [mysql]> status
--------------
mysql  Ver 15.1 Distrib 10.4.13-MariaDB, for Linux (x86_64) using readline 5.1

Connection id:		11
Current database:	mysql
Current user:		root@localhost
SSL:			Not in use
Current pager:		stdout
Using outfile:		‘‘
Using delimiter:	;
Server:			MariaDB
Server version:		10.4.13-MariaDB MariaDB Server
Protocol version:	10
Connection:		Localhost via UNIX socket
Server characterset:	latin1
Db     characterset:	latin1
Client characterset:	utf8
Conn.  characterset:	utf8
UNIX socket:		/var/lib/mysql/mysql.sock
Uptime:			2 hours 6 min 33 sec

Threads: 7  Questions: 52  Slow queries: 0  Opens: 36  Flush tables: 1  Open tables: 30  Queries per second avg: 0.006
--------------

默认以root身份登录mysql

安装完mysql后,密码为空,在敲mysql登录数据库的时候,事实上省略了-u选项。
默认为-uroot
10.4版之前,root账户空口零都是可以登陆的,早前的版本任何账户都可以匿名成root登录。

安全加固脚本

软件本身自带mysql_secure_installation安全加固脚本

[12:38:33 root@C8[ ~]#rpm -qf `which mysql_secure_installation`
MariaDB-server-10.4.13-1.el8.x86_64

运行脚本

[12:39:12 root@C8[ ~]#mysql_secure_installation

NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
      SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!

In order to log into MariaDB to secure it, we‘ll need the current
password for the root user. If you‘ve just installed MariaDB, and
haven‘t set the root password yet, you should just press enter here.

Enter current password for root (enter for none): 
















以上是关于MySQL数据库安装后的安全设置的主要内容,如果未能解决你的问题,请参考以下文章

MySQL安装后的基本安全优化

mysql数据库5.6.45安装后的配置(离线安装包版)

Ubuntu下安装mysql后的数据密码设置

MySQL安装后的设置和测试(参考MySQL官方文档)

mysql/mariadb 数据库安装完成后的设置

CentOS6.x系统安装后的基本优化与安全设置