当前位置: 首页 > news >正文

mariadb数据库从入门到精通

mariadb数据库的安装以及安全初始化


mariadb数据库的安装以及安全初始化

  • mariadb数据库的安装以及安全初始化
  • 一、实验前提
  • 二、mariadb数据库的安装
  • 三、mariadb数据库安全初始化
    • 3.1 设定数据库基本的安全初始化
    • 3.2关闭对外开放端口
  • 系列文章目录
  • 一、查看数据库
  • 二、进入库并且查看数据库中的表
  • 三、查看数据库里所有表的名字
  • 四、查看数据库里所有表的名字
    • 4.1表里面的字段
    • 4.2查看表里面的字段
  • 系列文章目录
  • 一、新建一个库
  • 二、新建一个表
  • 三、查看表的结构
  • 四、给表里面插入数据
  • 五、同时向表中插入多个数据
  • 系列文章目录
  • 一、更改密码(知道原始密码)
  • 二、更改密码(不知道原先密码)
  • 系列文章目录
  • 一、更改密码(知道原始密码)
  • 二、更改密码(不知道原先密码)
  • 系列文章目录
  • 重新安装数据库
  • 系列文章目录
  • 一、查看数据库用户
  • 二、数据库用户的建立
  • 三、删除数据库用户
  • 四、远程登录用户
  • 五、没有权限
    • 5.1授权查看
    • 5.2授权插入
    • 5.3取消授权
  • 六、用户的所有权限
  • 系列文章目录
  • 一、 数据库的备份
  • 二、数据库的还原
  • 系列文章目录
  • 数据库的web界面管理器的部署


一、实验前提

实验环境:yum仓库搭建好
mariadb 是当前流行的Mysql数据库的分支
Mysql原先SUN公司(java)被Orical收购了
Mysql开源免费,所以企业当中的核心数据库是Orical,其余是Mysql
mariadb是Mysql数据库的一个分支


二、mariadb数据库的安装

1.数据库的安装

[root@server15 ~]# yum serach mariadb

在这里插入图片描述

[root@server15 yum.repos.d]# yum install mariadb-server.x86_64 -y
[root@server15 yum.repos.d]# rpm -ql mariadb-server 
查看它在系统里面安装的东西
/var/lib/mysql  其中这个为它的数据目录
/etc/my.cnf.d/server.cnf 主配置文件
/usr/lib/systemd/system/mariadb.service 服务的启动脚本
[root@server15 yum.repos.d]# systemctl enable --now mariadb.service 
Created symlink from /etc/systemd/system/multi-user.target.wants/mariadb.service to /usr/lib/systemd/system/mariadb.service.
启动服务
[root@server15 yum.repos.d]# mysql
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 2
Server version: 5.5.60-MariaDB MariaDB ServerCopyright (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)]> SHOW DATABASES;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| test               |
+--------------------+
4 rows in set (0.00 sec)MariaDB [(none)]> quit
Bye

三、mariadb数据库安全初始化

由于数据库的登陆不需要密码所以不安全,我们要安全初始化。


3.1 设定数据库基本的安全初始化

[root@server15 yum.repos.d]# mysql_secure_installation  初始化脚本
Enter current password for root (enter for none):   当前数据库管理员的密码,无密码直接回车
Set root password? [Y/n] Y                   设定数据库管理员密码
New password: 
Re-enter new password: 
Password updated successfully!... Success!
Remove anonymous users? [Y/n] y   ... Success!         移除匿名用户登陆
Disallow root login remotely? [Y/n] y  ... Success!         移除管理员远程登陆
Remove test database and access to it? [Y/n] Y ... Success!         移除测试库
Reload privilege tables now? [Y/n] y    ... Success!         刷新数据库

密码登陆

[root@server15 yum.repos.d]# mysql -uroot -p
Enter password: 
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 11
Server version: 5.5.60-MariaDB MariaDB ServerCopyright (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)]> quit
Bye

默认情况下数据库对外开放端口,开放了,容易被攻击。一般在企业中要关闭

[root@server15 yum.repos.d]# netstat -antlupe | grep mysql
tcp        0      0 0.0.0.0:3306            0.0.0.0:*               LISTEN      27         31978      3768/mysqld     

3.2关闭对外开放端口

[root@server15 yum.repos.d]# vim /etc/my.cnf.d/server.cnf 
编辑主配置文件

在这里插入图片描述
关闭数据库网络端口

当设定完成后端口关闭

[root@server15 yum.repos.d]# systemctl restart mariadb.service 
[root@server15 yum.repos.d]# netstat -antlupe | grep mysql

END

系列文章目录

数据库的查询2

数据库的查询2

  • mariadb数据库的安装以及安全初始化
  • 一、实验前提
  • 二、mariadb数据库的安装
  • 三、mariadb数据库安全初始化
    • 3.1 设定数据库基本的安全初始化
    • 3.2关闭对外开放端口
  • 系列文章目录
  • 一、查看数据库
  • 二、进入库并且查看数据库中的表
  • 三、查看数据库里所有表的名字
  • 四、查看数据库里所有表的名字
    • 4.1表里面的字段
    • 4.2查看表里面的字段
  • 系列文章目录
  • 一、新建一个库
  • 二、新建一个表
  • 三、查看表的结构
  • 四、给表里面插入数据
  • 五、同时向表中插入多个数据
  • 系列文章目录
  • 一、更改密码(知道原始密码)
  • 二、更改密码(不知道原先密码)
  • 系列文章目录
  • 一、更改密码(知道原始密码)
  • 二、更改密码(不知道原先密码)
  • 系列文章目录
  • 重新安装数据库
  • 系列文章目录
  • 一、查看数据库用户
  • 二、数据库用户的建立
  • 三、删除数据库用户
  • 四、远程登录用户
  • 五、没有权限
    • 5.1授权查看
    • 5.2授权插入
    • 5.3取消授权
  • 六、用户的所有权限
  • 系列文章目录
  • 一、 数据库的备份
  • 二、数据库的还原
  • 系列文章目录
  • 数据库的web界面管理器的部署


一、查看数据库

[root@server15 mnt]# mysql -uroot -p
MariaDB [(none)]> SHOW DATABASES; 查看有什么库
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
+--------------------+
3 rows in set (0.00 sec)

二、进入库并且查看数据库中的表

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]> SHOW TABLES;    查看表
+---------------------------+
| Tables_in_mysql           |
+---------------------------+
| columns_priv              |
| db                        |
| event                     |
| func                      |
| general_log               |
| help_category             |
| help_keyword              |
| help_relation             |
| help_topic                |
| host                      |
| ndb_binlog_index          |
| plugin                    |
| proc                      |
| procs_priv                |
| proxies_priv              |
| servers                   |
| slow_log                  |
| tables_priv               |
| time_zone                 |
| time_zone_leap_second     |
| time_zone_name            |
| time_zone_transition      |
| time_zone_transition_type |
| user                      |
+---------------------------+
24 rows in set (0.00 sec)

三、查看数据库里所有表的名字

MariaDB [mysql]> SHOW TABLES FROM mysql;
查看mysql库里面所有表的名字

四、查看数据库里所有表的名字

MariaDB [mysql]> SELECT * FROM user;
查看user表里面的所有内容

在这里插入图片描述

4.1表里面的字段

表里面的字段
在这里插入图片描述

4.2查看表里面的字段

MariaDB [mysql]> SELECT Host,User,Password FROM user;
+-----------+------+-------------------------------------------+
| Host      | User | Password                                  |
+-----------+------+-------------------------------------------+
| localhost | root | *28C1E2BE21B45562A34B6CC34A19CFAFC2F88F96 |
| 127.0.0.1 | root | *28C1E2BE21B45562A34B6CC34A19CFAFC2F88F96 |
| ::1       | root | *28C1E2BE21B45562A34B6CC34A19CFAFC2F88F96 |
+-----------+------+-------------------------------------------+
3 rows in set (0.00 sec)

查看表里面的字段可以接条件

MariaDB [mysql]> SELECT Host,User,Password FROM user WHERE User='root' and Host='localhost';
+-----------+------+-------------------------------------------+
| Host      | User | Password                                  |
+-----------+------+-------------------------------------------+
| localhost | root | *28C1E2BE21B45562A34B6CC34A19CFAFC2F88F96 |
+-----------+------+-------------------------------------------+
1 row in set (0.00 sec)

.表示分级

MariaDB [(none)]> SELECT Host,User,Password FROM mysql.user WHERE User='root' and Host='localhost';
+-----------+------+-------------------------------------------+
| Host      | User | Password                                  |
+-----------+------+-------------------------------------------+
| localhost | root | *28C1E2BE21B45562A34B6CC34A19CFAFC2F88F96 |
+-----------+------+-------------------------------------------+
1 row in set (0.00 sec)

END

系列文章目录

数据库的建立3

数据库的建立

  • mariadb数据库的安装以及安全初始化
  • 一、实验前提
  • 二、mariadb数据库的安装
  • 三、mariadb数据库安全初始化
    • 3.1 设定数据库基本的安全初始化
    • 3.2关闭对外开放端口
  • 系列文章目录
  • 一、查看数据库
  • 二、进入库并且查看数据库中的表
  • 三、查看数据库里所有表的名字
  • 四、查看数据库里所有表的名字
    • 4.1表里面的字段
    • 4.2查看表里面的字段
  • 系列文章目录
  • 一、新建一个库
  • 二、新建一个表
  • 三、查看表的结构
  • 四、给表里面插入数据
  • 五、同时向表中插入多个数据
  • 系列文章目录
  • 一、更改密码(知道原始密码)
  • 二、更改密码(不知道原先密码)
  • 系列文章目录
  • 一、更改密码(知道原始密码)
  • 二、更改密码(不知道原先密码)
  • 系列文章目录
  • 重新安装数据库
  • 系列文章目录
  • 一、查看数据库用户
  • 二、数据库用户的建立
  • 三、删除数据库用户
  • 四、远程登录用户
  • 五、没有权限
    • 5.1授权查看
    • 5.2授权插入
    • 5.3取消授权
  • 六、用户的所有权限
  • 系列文章目录
  • 一、 数据库的备份
  • 二、数据库的还原
  • 系列文章目录
  • 数据库的web界面管理器的部署


一、新建一个库

[root@server15 mnt]# mysql -uroot -p
MariaDB [(none)]> SHOW DATABASES;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
+--------------------+
3 rows in set (0.00 sec)
MariaDB [(none)]> CREATE DATABASE westos;
Query OK, 1 row affected (0.00 sec)
MariaDB [(none)]> SHOW DATABASES;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| westos             |
+--------------------+
4 rows in set (0.00 sec)

二、新建一个表

MariaDB [(none)]> USE westos;
Database changed
MariaDB [westos]> SHOW TABLES;
Empty set (0.00 sec)
MariaDB [westos]> CREATE TABLE westos.linux (-> username varchar(6) not null,-> password varchar(30) not null-> );
Query OK, 0 rows affected (0.44 sec)MariaDB [westos]> SHOW TABLES;
+------------------+
| Tables_in_westos |
+------------------+
| linux            |
+------------------+
1 row in set (0.00 sec)

三、查看表的结构

MariaDB [westos]> DESC westos.linux;
+----------+-------------+------+-----+---------+-------+
| Field    | Type        | Null | Key | Default | Extra |
+----------+-------------+------+-----+---------+-------+
| username | varchar(6)  | NO   |     | NULL    |       |
| password | varchar(30) | NO   |     | NULL    |       |
+----------+-------------+------+-----+---------+-------+
2 rows in set (0.00 sec)

四、给表里面插入数据

MariaDB [westos]> INSERT INTO westos.linux VALUES ('lee',123)-> ;
Query OK, 1 row affected (0.04 sec)MariaDB [westos]> DESC westos.linux;
+----------+-------------+------+-----+---------+-------+
| Field    | Type        | Null | Key | Default | Extra |
+----------+-------------+------+-----+---------+-------+
| username | varchar(6)  | NO   |     | NULL    |       |
| password | varchar(30) | NO   |     | NULL    |       |
+----------+-------------+------+-----+---------+-------+
2 rows in set (0.00 sec)MariaDB [westos]> SELECT * FROM westos.linux-> ;
+----------+----------+
| username | password |
+----------+----------+
| lee      | 123      |
+----------+----------+
1 row in set (0.00 sec)

五、同时向表中插入多个数据

MariaDB [westos]> INSERT INTO westos.linux VALUES ('lee1','123'),('lee2','123');
Query OK, 2 rows affected (0.40 sec)
Records: 2  Duplicates: 0  Warnings: 0MariaDB [westos]> SELECT * FROM westos.linux-> ;
+----------+----------+
| username | password |
+----------+----------+
| lee      | 123      |
| lee1     | 123      |
| lee2     | 123      |
+----------+----------+
3 rows in set (0.00 sec)

END

系列文章目录

数据库密码的破解5

数据库密码的破解

  • mariadb数据库的安装以及安全初始化
  • 一、实验前提
  • 二、mariadb数据库的安装
  • 三、mariadb数据库安全初始化
    • 3.1 设定数据库基本的安全初始化
    • 3.2关闭对外开放端口
  • 系列文章目录
  • 一、查看数据库
  • 二、进入库并且查看数据库中的表
  • 三、查看数据库里所有表的名字
  • 四、查看数据库里所有表的名字
    • 4.1表里面的字段
    • 4.2查看表里面的字段
  • 系列文章目录
  • 一、新建一个库
  • 二、新建一个表
  • 三、查看表的结构
  • 四、给表里面插入数据
  • 五、同时向表中插入多个数据
  • 系列文章目录
  • 一、更改密码(知道原始密码)
  • 二、更改密码(不知道原先密码)
  • 系列文章目录
  • 一、更改密码(知道原始密码)
  • 二、更改密码(不知道原先密码)
  • 系列文章目录
  • 重新安装数据库
  • 系列文章目录
  • 一、查看数据库用户
  • 二、数据库用户的建立
  • 三、删除数据库用户
  • 四、远程登录用户
  • 五、没有权限
    • 5.1授权查看
    • 5.2授权插入
    • 5.3取消授权
  • 六、用户的所有权限
  • 系列文章目录
  • 一、 数据库的备份
  • 二、数据库的还原
  • 系列文章目录
  • 数据库的web界面管理器的部署


一、更改密码(知道原始密码)

[root@server15 mysql]# mysqladmin -uroot -p password 
Enter password: 
New password: 
Confirm new password: 

二、更改密码(不知道原先密码)

1.跳过授权表进入数据库

[root@server15 mysql]# mysqld_safe --skip-grant-tables & 
跳过授权表打开数据库 &后台运行
[2] 5479
[root@server15 mysql]# 210726 18:12:13 mysqld_safe Logging to '/var/log/mariadb/mariadb.log'.
210726 18:12:13 mysqld_safe A mysqld process already exists
[root@server15 mysql]# mysql
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 1
Server version: 5.5.60-MariaDB MariaDB ServerCopyright (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)]> 

2.修改密码

在这里插入图片描述
3.更改里面的这个字段

在这里插入图片描述

MariaDB [(none)]> UPDATE mysql.user SET authentication_string=password('123') WHERE User='root';rhel8
MariaDB [(none)]> UPDATE mysql.user SET Password=password('123') WHERE User='root';   rhel7

4.查看mysql的所有进程并且关闭掉

[root@server15 mysql]# ps aux | grep mysql
root      5297  0.0  0.1 113312  1632 pts/0    S    18:10   0:00 /bin/sh /usr/bin/mysqld_safe --skip-grant-tables
mysql     5455  0.0  8.6 970848 88272 pts/0    Sl   18:10   0:00 /usr/libexec/mysqld --basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/lib64/mysql/plugin --user=mysql --skip-grant-tables --log-error=/var/log/mariadb/mariadb.log --pid-file=/var/run/mariadb/mariadb.pid --socket=/var/lib/mysql/mysql.sock
root      5620  0.0  0.0 112708   972 pts/0    R+   18:20   0:00 grep --color=auto mysql
[root@server15 mysql]# kill -9 5297
[root@server15 mysql]# kill -9 5455
ps aux | grep mysql
root      5624  0.0  0.0 112708   976 pts/0    R+   18:22   0:00 grep --color=auto mysql 这个是grep的进程

5.更改完成

[root@server15 mysql]# systemctl start mariadb.service 
[root@server15 mysql]#  mysql -uroot -p123
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 2
Server version: 5.5.60-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)]> 

END

系列文章目录

数据库密码的破解5

数据库密码的破解

  • mariadb数据库的安装以及安全初始化
  • 一、实验前提
  • 二、mariadb数据库的安装
  • 三、mariadb数据库安全初始化
    • 3.1 设定数据库基本的安全初始化
    • 3.2关闭对外开放端口
  • 系列文章目录
  • 一、查看数据库
  • 二、进入库并且查看数据库中的表
  • 三、查看数据库里所有表的名字
  • 四、查看数据库里所有表的名字
    • 4.1表里面的字段
    • 4.2查看表里面的字段
  • 系列文章目录
  • 一、新建一个库
  • 二、新建一个表
  • 三、查看表的结构
  • 四、给表里面插入数据
  • 五、同时向表中插入多个数据
  • 系列文章目录
  • 一、更改密码(知道原始密码)
  • 二、更改密码(不知道原先密码)
  • 系列文章目录
  • 一、更改密码(知道原始密码)
  • 二、更改密码(不知道原先密码)
  • 系列文章目录
  • 重新安装数据库
  • 系列文章目录
  • 一、查看数据库用户
  • 二、数据库用户的建立
  • 三、删除数据库用户
  • 四、远程登录用户
  • 五、没有权限
    • 5.1授权查看
    • 5.2授权插入
    • 5.3取消授权
  • 六、用户的所有权限
  • 系列文章目录
  • 一、 数据库的备份
  • 二、数据库的还原
  • 系列文章目录
  • 数据库的web界面管理器的部署


一、更改密码(知道原始密码)

[root@server15 mysql]# mysqladmin -uroot -p password 
Enter password: 
New password: 
Confirm new password: 

二、更改密码(不知道原先密码)

1.跳过授权表进入数据库

[root@server15 mysql]# mysqld_safe --skip-grant-tables & 
跳过授权表打开数据库 &后台运行
[2] 5479
[root@server15 mysql]# 210726 18:12:13 mysqld_safe Logging to '/var/log/mariadb/mariadb.log'.
210726 18:12:13 mysqld_safe A mysqld process already exists
[root@server15 mysql]# mysql
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 1
Server version: 5.5.60-MariaDB MariaDB ServerCopyright (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)]> 

2.修改密码

在这里插入图片描述
3.更改里面的这个字段

在这里插入图片描述

MariaDB [(none)]> UPDATE mysql.user SET authentication_string=password('123') WHERE User='root';rhel8
MariaDB [(none)]> UPDATE mysql.user SET Password=password('123') WHERE User='root';   rhel7

4.查看mysql的所有进程并且关闭掉

[root@server15 mysql]# ps aux | grep mysql
root      5297  0.0  0.1 113312  1632 pts/0    S    18:10   0:00 /bin/sh /usr/bin/mysqld_safe --skip-grant-tables
mysql     5455  0.0  8.6 970848 88272 pts/0    Sl   18:10   0:00 /usr/libexec/mysqld --basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/lib64/mysql/plugin --user=mysql --skip-grant-tables --log-error=/var/log/mariadb/mariadb.log --pid-file=/var/run/mariadb/mariadb.pid --socket=/var/lib/mysql/mysql.sock
root      5620  0.0  0.0 112708   972 pts/0    R+   18:20   0:00 grep --color=auto mysql
[root@server15 mysql]# kill -9 5297
[root@server15 mysql]# kill -9 5455
ps aux | grep mysql
root      5624  0.0  0.0 112708   976 pts/0    R+   18:22   0:00 grep --color=auto mysql 这个是grep的进程

5.更改完成

[root@server15 mysql]# systemctl start mariadb.service 
[root@server15 mysql]#  mysql -uroot -p123
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 2
Server version: 5.5.60-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)]> 

END

系列文章目录

如何重新安装数据库6

如何重新安装数据库

  • mariadb数据库的安装以及安全初始化
  • 一、实验前提
  • 二、mariadb数据库的安装
  • 三、mariadb数据库安全初始化
    • 3.1 设定数据库基本的安全初始化
    • 3.2关闭对外开放端口
  • 系列文章目录
  • 一、查看数据库
  • 二、进入库并且查看数据库中的表
  • 三、查看数据库里所有表的名字
  • 四、查看数据库里所有表的名字
    • 4.1表里面的字段
    • 4.2查看表里面的字段
  • 系列文章目录
  • 一、新建一个库
  • 二、新建一个表
  • 三、查看表的结构
  • 四、给表里面插入数据
  • 五、同时向表中插入多个数据
  • 系列文章目录
  • 一、更改密码(知道原始密码)
  • 二、更改密码(不知道原先密码)
  • 系列文章目录
  • 一、更改密码(知道原始密码)
  • 二、更改密码(不知道原先密码)
  • 系列文章目录
  • 重新安装数据库
  • 系列文章目录
  • 一、查看数据库用户
  • 二、数据库用户的建立
  • 三、删除数据库用户
  • 四、远程登录用户
  • 五、没有权限
    • 5.1授权查看
    • 5.2授权插入
    • 5.3取消授权
  • 六、用户的所有权限
  • 系列文章目录
  • 一、 数据库的备份
  • 二、数据库的还原
  • 系列文章目录
  • 数据库的web界面管理器的部署


重新安装数据库

企业中不能重新安装数据库

[root@server15 mysql]# systemctl stop mariadb.service 
[root@server15 mysql]# rm -fr /var/lib/mysql/
[root@server15 mysql]# yum reinstall mariadb-server.x86_64 -y
[root@server15 mysql]# mysql
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 2
Server version: 5.5.60-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)]> 

END

系列文章目录

数据库的用户建立和授权7

数据库的用户建立和授权

  • mariadb数据库的安装以及安全初始化
  • 一、实验前提
  • 二、mariadb数据库的安装
  • 三、mariadb数据库安全初始化
    • 3.1 设定数据库基本的安全初始化
    • 3.2关闭对外开放端口
  • 系列文章目录
  • 一、查看数据库
  • 二、进入库并且查看数据库中的表
  • 三、查看数据库里所有表的名字
  • 四、查看数据库里所有表的名字
    • 4.1表里面的字段
    • 4.2查看表里面的字段
  • 系列文章目录
  • 一、新建一个库
  • 二、新建一个表
  • 三、查看表的结构
  • 四、给表里面插入数据
  • 五、同时向表中插入多个数据
  • 系列文章目录
  • 一、更改密码(知道原始密码)
  • 二、更改密码(不知道原先密码)
  • 系列文章目录
  • 一、更改密码(知道原始密码)
  • 二、更改密码(不知道原先密码)
  • 系列文章目录
  • 重新安装数据库
  • 系列文章目录
  • 一、查看数据库用户
  • 二、数据库用户的建立
  • 三、删除数据库用户
  • 四、远程登录用户
  • 五、没有权限
    • 5.1授权查看
    • 5.2授权插入
    • 5.3取消授权
  • 六、用户的所有权限
  • 系列文章目录
  • 一、 数据库的备份
  • 二、数据库的还原
  • 系列文章目录
  • 数据库的web界面管理器的部署


一、查看数据库用户

MariaDB [(none)]> SELECT Host,User FROM mysql.user;
+-----------+------+
| Host      | User |
+-----------+------+
| 127.0.0.1 | root |
| ::1       | root |
| localhost | root |
+-----------+------+
只有管理员一个用户

二、数据库用户的建立

MariaDB [(none)]> CREATE USER westos@localhost identified by 'westos';
建立一个用户只能在数据库所在的主机上使用(此用户只能本机登陆数据库),‘’引号引起来的为密码
MariaDB [(none)]> CREATE USER westo@'%'identified by 'westos';
建立一个可以远程登陆的用户(此用户可以通过网络登陆数据库),能否使用要看数据库远程登陆端口打开没

建立成功

MariaDB [(none)]> SELECT Host,User FROM mysql.user;
+-----------+--------+
| Host      | User   |
+-----------+--------+
| %         | westo  |
| 127.0.0.1 | root   |
| ::1       | root   |
| localhost | root   |
| localhost | westos |
+-----------+--------+

三、删除数据库用户

删除用户

MariaDB [(none)]> DROP USER westo@'%';
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]> SELECT Host,User FROM mysql.user;
+-----------+--------+
| Host      | User   |
+-----------+--------+
| 127.0.0.1 | root   |
| ::1       | root   |
| localhost | root   |
| localhost | westos |
+-----------+--------+
MariaDB [(none)]> 
[root@server15 ~]# mysql -uwestos -pwestos
MariaDB [(none)]> quit
[root@server15 ~]# mysql -uwestos -pwestos -h172.25.138.15
ERROR 2003 (HY000): Can't connect to MySQL server on '172.25.138.15' (111)
[root@server15 ~]# mysql -ulee -pwestos -h172.25.138.15
ERROR 2003 (HY000): Can't connect to MySQL server on '172.25.138.15' (111)

四、远程登录用户

我建立了一个远程登陆的用户lee

[root@server15 ~]# mysql -uroot -p
Enter password: 
MariaDB [(none)]> CREATE DATABASE westostest ;
MariaDB [(none)]> CREATE TABLE westostest.userlist (-> username varchar(10) not null,-> password varchar(30) not null-> );
MariaDB [(none)]> INSERT INTO westostest.userlist VALUES('lee','123'),('lee1','123');
MariaDB [(none)]> SELECT * FROM westostest.userlist;
+----------+----------+
| username | password |
+----------+----------+
| lee      | 123      |
| lee1     | 123      |
+----------+----------+

开启远程登陆接口

[root@server15 ~]# vim /etc/my.cnf.d/server.cnf 

在这里插入图片描述
注释掉这个
远程登陆

[root@server15 ~]# systemctl restart mariadb.service 
[root@server15 ~]# mysql -ulee -pwestos -h172.25.138.15
MariaDB [(none)]> 
[root@server15 ~]# mysql -uwestos -pwestos -h172.25.138.15
ERROR 1045 (28000): Access denied for user 'westos'@'server15' (using password: YES)

用westos用户登陆没有权限


五、没有权限

看不见表格

[root@server15 ~]# mysql -uwestos -pwestos
MariaDB [(none)]> SHOW DATABASES;
+--------------------+
| Database           |
+--------------------+
| information_schema |
+--------------------+
1 row in set (0.00 sec)MariaDB [(none)]> 

5.1授权查看

[root@server15 ~]# mysql -uroot -p
MariaDB [(none)]> GRANT SELECT ON westostest.* TO westos@localhost; westostest库里面所有表都可以查询.*
TO给westos@localhost这个用户
MariaDB [(none)]> SHOW GRANTS FOR westos@localhost;查看授权成功没
+---------------------------------------------------------------------------------------------------------------+
| Grants for westos@localhost                                                                                   |
+---------------------------------------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'westos'@'localhost' IDENTIFIED BY PASSWORD '*28C1E2BE21B45562A34B6CC34A19CFAFC2F88F96' |
| GRANT SELECT ON `westostest`.* TO 'westos'@'localhost'                                                        |
+---------------------------------------------------------------------------------------------------------------+
GRANT SELECT ON `westostest`.* TO 'westos'@'localhost'
授权成功

授权能够查看但无法插入

[root@server15 ~]# mysql -uwestos -pwestos
MariaDB [(none)]> SHOW DATABASES;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| westostest         |
+--------------------+
MariaDB [(none)]> SELECT * FROM westostest.userlist;
+----------+----------+
| username | password |
+----------+----------+
| lee      | 123      |
| lee1     | 123      |
+----------+----------+
2 rows in set (0.00 sec)
MariaDB [(none)]> INSERT INTO westostest.userlist VALUES('test','123');
ERROR 1142 (42000): INSERT command denied to user 'westos'@'localhost' for table 'userlist'

5.2授权插入

[root@server15 ~]# mysql -uroot -p
MariaDB [(none)]> GRANT INSERT  ON westostest.* TO westos@localhost ;
MariaDB [(none)]> SHOW GRANTS FOR westos@localhost;
+---------------------------------------------------------------------------------------------------------------+
| Grants for westos@localhost                                                                                   |
+---------------------------------------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'westos'@'localhost' IDENTIFIED BY PASSWORD '*28C1E2BE21B45562A34B6CC34A19CFAFC2F88F96' |
| GRANT SELECT, INSERT ON `westostest`.* TO 'westos'@'localhost'                                                |
+---------------------------------------------------------------------------------------------------------------+
2 rows in set (0.00 sec)
插入和查看权限都有了
[root@server15 ~]# mysql -uwestos -pwestos
MariaDB [(none)]> INSERT INTO westostest.userlist VALUES('test','123');
Query OK, 1 row affected (0.04 sec)

5.3取消授权

[root@server15 ~]# mysql -uroot -p
MariaDB [(none)]> REVOKE INSERT ON westostest.* FROM westos@localhost;
MariaDB [(none)]> SHOW GRANTS FOR westos@localhost;
+---------------------------------------------------------------------------------------------------------------+
| Grants for westos@localhost                                                                                   |
+---------------------------------------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'westos'@'localhost' IDENTIFIED BY PASSWORD '*28C1E2BE21B45562A34B6CC34A19CFAFC2F88F96' |
| GRANT SELECT ON `westostest`.* TO 'westos'@'localhost'                                                        |
+---------------------------------------------------------------------------------------------------------------+
2 rows in set (0.00 sec)
[root@server15 ~]# mysql -uwestos -pwestos
MariaDB [(none)]> INSERT INTO westostest.userlist VALUES('test1','123');
ERROR 1142 (42000): INSERT command denied to user 'westos'@'localhost' for table 'userlist'

六、用户的所有权限

[root@server15 ~]# mysql -uroot -p
MariaDB [(none)]> SELECT * FROM mysql.user ;

在这里插入图片描述这个是所有权限比如:Select Insert Update …
在这里插入图片描述可以看到 root全是Y,所有权限都有
lee全是N没有任何权限

删掉用户

[root@server15 ~]# mysql -uroot -p
MariaDB [(none)]> DROP user westos@localhost;

END

系列文章目录

数据库的备份8

数据库的备份

  • mariadb数据库的安装以及安全初始化
  • 一、实验前提
  • 二、mariadb数据库的安装
  • 三、mariadb数据库安全初始化
    • 3.1 设定数据库基本的安全初始化
    • 3.2关闭对外开放端口
  • 系列文章目录
  • 一、查看数据库
  • 二、进入库并且查看数据库中的表
  • 三、查看数据库里所有表的名字
  • 四、查看数据库里所有表的名字
    • 4.1表里面的字段
    • 4.2查看表里面的字段
  • 系列文章目录
  • 一、新建一个库
  • 二、新建一个表
  • 三、查看表的结构
  • 四、给表里面插入数据
  • 五、同时向表中插入多个数据
  • 系列文章目录
  • 一、更改密码(知道原始密码)
  • 二、更改密码(不知道原先密码)
  • 系列文章目录
  • 一、更改密码(知道原始密码)
  • 二、更改密码(不知道原先密码)
  • 系列文章目录
  • 重新安装数据库
  • 系列文章目录
  • 一、查看数据库用户
  • 二、数据库用户的建立
  • 三、删除数据库用户
  • 四、远程登录用户
  • 五、没有权限
    • 5.1授权查看
    • 5.2授权插入
    • 5.3取消授权
  • 六、用户的所有权限
  • 系列文章目录
  • 一、 数据库的备份
  • 二、数据库的还原
  • 系列文章目录
  • 数据库的web界面管理器的部署


一、 数据库的备份

[root@server15 ~]# mysql -uroot -p
MariaDB [(none)]> SHOW DATABASES;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| westostest         |
+--------------------+
[root@server15 ~]# mysqldump -uroot -pwestos mysql
它便会把mysql的库的内容用SQL语句输出到我们的屏幕上

节选很长一段sql语句
在这里插入图片描述
所以把它重定向,便可以保存下来

[root@server15 ~]# mysqldump -uroot -pwestos mysql > /mnt/mysql.sql

备份所有的库

[root@server15 ~]# mysqldump -uroot -pwestos --all-databases > /mnt/all.sql

只要备份库的结构不备份库中的数据

[root@server15 ~]# mysqldump -uroot -pwestos --all-databases --no-data > /mnt/all.sql
[root@server15 ~]# mysqldump -uroot -pwestos westostest > /mnt/westostest.sql
[root@server15 ~]# mysql -uroot -pwestos
MariaDB [(none)]> DROP DATABASE westostest;
MariaDB [(none)]> SHOW DATABASES;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |

使用备份的库时先得建立库,才能导入


二、数据库的还原

使用备份的库时先得建立库,才能导入

[root@server15 ~]# mysql -uroot -pwestos -e "CREATE DATABASE westostest"
[root@server15 ~]# mysql -uroot -pwestos westostest < /mnt/westostest.sql

数据库还原成功

[root@server15 ~]# mysql -uroot -pwestos 
MariaDB [(none)]> SHOW DATABASES;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| westostest         |
+--------------------+
MariaDB [(none)]> SELECT * FROM westostest.userlist;
+----------+----------+
| username | password |
+----------+----------+
| lee      | 123      |
| lee1     | 123      |
| test     | 123      |
+----------+----------+

END

系列文章目录

数据库的web界面管理器的部署9

数据库的web界面管理器的部署

  • mariadb数据库的安装以及安全初始化
  • 一、实验前提
  • 二、mariadb数据库的安装
  • 三、mariadb数据库安全初始化
    • 3.1 设定数据库基本的安全初始化
    • 3.2关闭对外开放端口
  • 系列文章目录
  • 一、查看数据库
  • 二、进入库并且查看数据库中的表
  • 三、查看数据库里所有表的名字
  • 四、查看数据库里所有表的名字
    • 4.1表里面的字段
    • 4.2查看表里面的字段
  • 系列文章目录
  • 一、新建一个库
  • 二、新建一个表
  • 三、查看表的结构
  • 四、给表里面插入数据
  • 五、同时向表中插入多个数据
  • 系列文章目录
  • 一、更改密码(知道原始密码)
  • 二、更改密码(不知道原先密码)
  • 系列文章目录
  • 一、更改密码(知道原始密码)
  • 二、更改密码(不知道原先密码)
  • 系列文章目录
  • 重新安装数据库
  • 系列文章目录
  • 一、查看数据库用户
  • 二、数据库用户的建立
  • 三、删除数据库用户
  • 四、远程登录用户
  • 五、没有权限
    • 5.1授权查看
    • 5.2授权插入
    • 5.3取消授权
  • 六、用户的所有权限
  • 系列文章目录
  • 一、 数据库的备份
  • 二、数据库的还原
  • 系列文章目录
  • 数据库的web界面管理器的部署


数据库的web界面管理器的部署

可视化管理需要下载一个插件phpmyadmin
在这里插入图片描述
进入官网下载
我用的是3.4的版本,个人觉得好用

[root@foundation38 ~]# scp /var/run/media/kiosk/C6E6206CE6205EC5/phpMyAdmin-3.4.0-all-languages.tar.bz2 root@172.25.138.15:/mnt 
[root@server15 ~]# cd /mnt
[root@server15 mnt]# ls
all_nodata.sql  all.sql  mysql.sql  phpMyAdmin-3.4.0-all-languages.tar.bz2  westostest.sql

安装该插件

[root@server15 yum.repos.d]# yum install httpd php php-mysql.x86_64 -y
因为基于httpd发布,php默认不支持数据库,所以还得安装相应的插件让php支持数据库
[root@server15 yum.repos.d]# systemctl start firewalld.service 
[root@server15 yum.repos.d]# systemctl enable --now httpd
[root@server15 yum.repos.d]# systemctl restart httpd
[root@server15 yum.repos.d]# firewall-cmd --permanent --add-service=http
[root@server15 yum.repos.d]# firewall-cmd --reload

在这里插入图片描述

[root@server15 mnt]# yum install bzip2 -y
[root@server15 mnt]# tar jxf phpMyAdmin-3.4.0-all-languages.tar.bz2 -C /var/www/html/
[root@server15 mnt]# cd /var/www/html/
[root@server15 html]# ls
phpMyAdmin-3.4.0-all-languages
[root@server15 html]# mv phpMyAdmin-3.4.0-all-languages mysqladmin
改个名字要不然名字太长了,不好访问
[root@server15 html]# cd mysqladmin/
[root@server15 mysqladmin]# ls

在这里插入图片描述
软件的安装文档
在这里插入图片描述在这里插入图片描述

快速安装步骤

[root@server15 mysqladmin]# cp config.sample.inc.php config.sample.php

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
END

在这里插入图片描述

相关文章:

mariadb数据库从入门到精通

mariadb数据库的安装以及安全初始化 mariadb数据库的安装以及安全初始化 mariadb数据库的安装以及安全初始化一、实验前提二、mariadb数据库的安装三、mariadb数据库安全初始化3.1 设定数据库基本的安全初始化3.2关闭对外开放端口 系列文章目录一、查看数据库二、进入库并且查看…...

LabVIEW探测器CAN总线系统

介绍了一个基于FPGA和LabVIEW的CAN总线通信系统&#xff0c;该系统专为与各单机进行系统联调测试而设计。通过设计FPGA的CAN总线功能模块和USB功能模块&#xff0c;以及利用LabVIEW开发的上位机程序&#xff0c;系统成功实现了CAN总线信息的收发、存储、解析及显示功能。测试结…...

侧输出流(Side Output)

侧输出流&#xff08;Side Output&#xff09;是处理函数中的一个重要功能&#xff0c;允许我们将自定义的数据发送到侧输出流中进行处理或输出。通过将数据发送到侧输出流&#xff0c;我们可以将不同的数据流进行分离&#xff0c;以便进行不同的处理和操作。 在处理函数中&…...

Vue 动态组件与异步组件:深入理解与全面应用

聚沙成塔每天进步一点点 本文内容 ⭐ 专栏简介1. 动态组件实现原理&#xff1a;用法示例&#xff1a; 2. 异步组件实现原理&#xff1a;用法示例&#xff1a; 3. 异步组件的高级应用a. 异步组件的命名&#xff1a;b. 异步组件的加载状态管理&#xff1a; ⭐ 写在最后 ⭐ 专栏简…...

Zephyr 源码调试

背景 调试环境对于学习源码非常重要&#xff0c;但嵌入式系统的调试环境搭建稍微有点复杂&#xff0c;需要的条件略多。本文章介绍如何在 Zephyr 提供的 qemu 上调试 Zephyr 源码&#xff0c;为后续分析 Zephyr OS 相关原理做铺垫。 环境 我的开发环境为 wsl ubuntu&#xf…...

数学建模绘图

注意&#xff1a;本文章旨在记录观看B站UP数模加油站之后的笔记文章&#xff0c;无任何商业用途~~ 必备网站 以下网站我都试过&#xff0c;可以正常访问 配色&#xff08;取色&#xff09;网站&#xff1a; Color Palettes Generator and Color Gradient Tool Python&#x…...

代码随想录算法训练营第十天 | 239.滑动窗口最大值、347.前K个高频元素

代码随想录算法训练营第十天 | 239.滑动窗口最大值、347.前K个高频元素 文章目录 代码随想录算法训练营第十天 | 239.滑动窗口最大值、347.前K个高频元素1 LeetCode 239.滑动窗口最大值2 LeetCode 347.前K个高频元素 1 LeetCode 239.滑动窗口最大值 题目链接&#xff1a;https…...

【Godot4自学手册】第五节用GDScript语言让主人公动起来

GDScript 是Godot自带的编程语言&#xff0c;用于编写游戏逻辑&#xff0c;它是一种高级面向对象的指令式编程语言&#xff0c;使用渐进类型&#xff0c;专为 Godot 构建。在这一小节里&#xff0c;我将自学用GDScript语言控制主人公的行走和攻击。 一、给Player节点添加GDScr…...

被问到Tomcat是什么该怎么回答?他还有一个好帮手JDK你知道吗?

目录 Tomcat简介&#xff1a; 使用建议: Tomcat好帮手---JDK Tomcat和JDK的关系 安装JDK 1.打开浏览器输入网址 Oracle | Cloud Applications and Cloud Platform 进入Oracle官网 2、在官网首页菜单栏&#xff0c;点击产品&#xff0c;在硬件和软件中找到Java&#xff0…...

【Web前端实操11】定位实操_照片墙(无序摆放)

设置一个板块&#xff0c;将照片随意无序摆放在墙上&#xff0c;从而形成照片墙。本来效果应该是很唯美好看的&#xff0c;就像这种&#xff0c;但是奈何本人手太笨&#xff0c;只好设置能达到照片墙的效果就可。 代码如下&#xff1a; <!DOCTYPE html> <html lang&…...

图像处理------调整色调

什么是色调&#xff1f; 色调&#xff0c;在画面上表现思想、感情所使用的色彩和色彩的浓淡。分为暖色调和冷色调。 from cv2 import destroyAllWindows, imread, imshow, waitKey#创建棕褐色色调 def make_sepia(img, factor: int):pixel_h, pixel_v img.shape[0], img.shap…...

【操作系统】实验七 显示进程列表

&#x1f57a;作者&#xff1a; 主页 我的专栏C语言从0到1探秘C数据结构从0到1探秘Linux &#x1f618;欢迎关注&#xff1a;&#x1f44d;点赞&#x1f64c;收藏✍️留言 &#x1f3c7;码字不易&#xff0c;你的&#x1f44d;点赞&#x1f64c;收藏❤️关注对我真的很重要&…...

[实战]加密传输数据解密

前言 下面将分享一些实际的渗透测试经验&#xff0c;帮助你应对在测试中遇到的数据包内容加密的情况。我们将以实战为主&#xff0c;技巧为辅&#xff0c;进入逆向的大门。 技巧 开局先讲一下技巧&#xff0c;掌握好了技巧&#xff0c;方便逆向的时候可以更加快速的找到关键函数…...

yarn install 报错 证书过期 Certificate has expired

“Certificate has expired” 的意思是证书已过期。这通常是指数字证书在其有效期限之前已经失效了。数字证书通常用于加密和保护网络通信&#xff0c;以及验证网站的身份。如果证书已经过期&#xff0c;那么使用该证书的网站或服务可能会受到安全威胁。为了保证安全&#xff0…...

多流转换 (分流,合流,基于时间的合流——双流联结 )

目录 一&#xff0c;分流 1.实现分流 2.使用侧输出流 二&#xff0c;合流 1&#xff0c;联合 2&#xff0c;连接 三&#xff0c;基于时间的合流——双流联结 1&#xff0c;窗口联结 1.1 窗口联结的调用 1.2 窗口联结的处理流程 2&#xff0c;间隔联结 2.1 间隔联…...

Linux破解密码

破解root密码&#xff08;Linux 7&#xff09; 1、先重启——e 2、Linux 16这一行 末尾加rd.break&#xff08;不要回车&#xff09;中断加载内核 3、再ctrlx启动&#xff0c;进入救援模式 4、mount -o remount&#xff0c;rw /sysroot/——&#xff08;mount挂载 o——opti…...

ABAP 批导demo调用SM30表维护demo

ABAP 批导demo&调用SM30表维护demo &--------------------------------------------------------------------- *& Report ZPP036 &--------------------------------------------------------------------- *& &-----------------------------------…...

Mysql 文件导入与导出

i/o 一、导出(mysqldump)<一>、导出sql文件<二>、导出csv文件 二、导入(load)三、常见报错The Mysql server is running with the --secure-file-priv option so it cannot execute this statement 一、导出(mysqldump) <一>、导出sql文件 1、整库 mysqld…...

《每天十分钟》-红宝书第4版-迭代器与生成器

理解迭代 计数循环就是一种最简单的迭代 for (let i 1; i < 10; i) { console.log(i); }迭代之前需要事先知道如何使用数据结构。数组中的每一项都只能先通过引用取得数组对象&#xff0c;然后再通过[]操作符取得特定索引位置上的项。这种情况并不适用于所有数据结构。遍…...

1、【vue篇】vue框架快速上手

注意事项&#xff1a; methods必须要加s 导入vue&#xff1a;<script src"https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>导入Axios:<script src"https://unpkg.com/axios/dist/axios.min.js"></script> 简单Vue程序…...

Unity 编辑器篇|(九)编辑器美化类( GUIStyle、GUISkin、EditorStyles) (全面总结 | 建议收藏)

目录 1. GUIStyle1.1 参数总览1.2 样式代码 2. GUISkin2.1 参数总览2.2 创建自定义Skin 3. EditorStyles2.1 参数总览1.2 反射获取所有EditorStyles 1. GUIStyle GUIStyle是一个用于定制GUI控件样式的类&#xff0c;它包含了控件的外观属性&#xff0c;如字体、颜色、背景等。…...

Spring Boot Starters

Spring Boot Starters 概述 Spring Boot Starters是一系列为特定应用场景预设的依赖管理和自动配置方案。每个Starter都是为了简化特定类型的项目构建和配置。例如&#xff0c;spring-boot-starter-web是为创建基于Spring MVC的Web应用程序而设计的。 Starter的结构 一个典型…...

Qt防止创建窗口抢焦点

问题是&#xff0c;当我在 Qt 中打开一个新窗口时&#xff0c;它会自动窃取前一个应用程序的焦点。 有什么办法可以防止这种情况发生吗&#xff1f; setAttribute(Qt::WA_ShowWithoutActivating);这会强制窗口不激活。即使有Qt::WindowStaysOnTopHint flag 出处&#xff1a; S…...

shared_ptr 与 unique_ptr 的转换 笔记

推荐B站文章&#xff1a; 6.shared_ptr与unique_ptr_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV18B4y187uL?p6&vd_sourcea934d7fc6f47698a29dac90a922ba5a3我的往期文章&#xff1a; 独占指针&#xff1a;unique_ptr 与 函数调用-CSDN博客https://blog.csdn.n…...

python windows和linux 文件同步

在Python中&#xff0c;可以使用paramiko库来实现Windows和Linux之间的文件同步。paramiko是一个用于SSH连接的Python库&#xff0c;可以用于在Windows和Linux之间进行文件传输。 以下是一个简单的示例代码&#xff0c;演示如何使用paramiko库在Windows和Linux之间同步文件&am…...

【数据结构】72变的双端队列

双端队列 前言一、双端队列1.1 双端队列的定义1.2 输入受限的双端队列1.3 输出受限的双端队列1.5 输入输出都受限的双端队列1.6 小结 二、双端队列的使用2.1 双端队列的出队序列——暴力求解2.1.1 栈的出栈序列2.1.2 输入受限的双端队列2.1.3 输出受限的双端队列2.1.4 输入输出…...

kafka为什么不支持读写分离?

kafka为什么不支持读写分离&#xff1f; 在kafka中&#xff0c;生产者写入消息&#xff0c;消费者读取消息的操作都是与 leader 副本进行交互的&#xff0c;从而实现的是一种主写主读的生产消费模型。kafka不支持读写分离&#xff0c;也就是主写从读。 读写分离有以下不足&am…...

arcgis 面要素shp数据处理

面要素是工作中用到最多的&#xff0c;那么面要素是如何形成的呢&#xff0c;主要还是由闭合的线要素转换而成。在面要素数据中常用的有以下几点&#xff1a; 一、 线转面&#xff08;要素转面&#xff09; 通过上一篇得到了点转线的要素&#xff0c;那么根据上节的线要素&am…...

数轴(0 ~ m)上有n个不同点,最多只能移动一个点,移动到[1, m]中任意一点,求最终最小相邻两个点的距离的最大值是什么

题目 思路:先找到相邻距离最小的位置,假设为pos, 那么不是移动第pos个点就是移动第(pos - 1)个点,先移动pos点,用数组vec存除了pos点之外的所有点,求出最小相邻距离和最大相邻距离,那么肯定将pos点插入到最大相邻距离中。 #include <bits/stdc++.h> using namesp…...

BGP路由反射-数据中心IDC项目经验

一、背景描述 R1,R2,R3在AS200区域内&#xff0c;R1和R2,R1和R3建立OSPF&#xff0c;宣告接口互联. AS200区域内&#xff0c;R1和R2建立IBGP, R1和R3建立IBGP R2和R4建立EBGP, R3和R5建立EBGP。 网络拓扑&#xff1a; 二、故障现象 R1和R2可以收到来自AS100区域R4的E…...