数据库基础
一、数据库基本介绍
数据库是“按照数据结构来组织、存储和管理数据的仓库”。是一个长期存储在计算机内的、有组织的、可共享的、统一管理的大量数据的集合。数据库可以看作是一个高级的表格软件。MySQL 是最流行的关系型数据库管理系统之一,MySQL 软件采用了双授权政策,分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择 MySQL 作为网站数据库。Mariadb是MySQL源代码的一个重要分支。
二、Mariadb的安装
查找mariadb服务名称
dnf search mariadb
安装
dnf install mariadb-server.x86_64 -y
三、Mariadb的基本信息以及服务开启
3.1 基本信息
服务名称:mariadb.service
默认端口:3306
主配置文件:/etc/my.cnf
数据目录:/var/lib/mysql
3.2 开启数据库
systemctl enable --now mariadb
四、数据库的安全初始化
安装好数据库后默认情况下是可以直接登录的,这种情况是不安全的,需要对数据库初始化做一些更改使得它更加安全
4.1 关闭数据库开放端口
查看默认情况下数据库的端口
netstat -antlupe | grep mysql
在主配置文件中设置数据库跳过网络服务
[mysqld]
skip-networking=1
重启mariadb服务后再次查看数据库端口
systemctl restart mariadb.service
netstat -antlupe | grep mysql
4.2 执行安全初始化脚本
mysql_secure_installation
在登录mysql时需要密码
mysql -uroot -p
五、数据库的基本管理
5.1 查看
1、查看数据库,显示库名称
SHOW DATABASES;
2、进入mysql库
USE mysql
3、显示mysql库中的所有表
SHOW TABLES;
4、查询user表中的所有内容
SELECT * FROM user;
5、查询user表中的指定字段,例如只查询表中的Host,User,Password
SELECT Host,User,Password FROM user;
5.2 新建
1、新建一个名为wang的库
CREATE DATABASE wang;
2、在新建的库中新建一个名为linux的表
USE wang;
CREATE TABLE linux(
username varchar(10) not null,
password varchar(30) not null
);
DESC linux #显示表结构
3、在表中插入数据
INSERT INTO linux VALUES('user1','wangdan');
5.3 更改
一般库的名字不做更改
1、更改表的名字,将表linux名称改为tuo
ALTER TABLE linux rename tuo;
2、更改表结构,添加新的内容
ALTER TABLE linux ADD sex varchar(5);
ALTER TABLE linux ADD age varchar(5);
3、更改表结构,删除表中某项内容
ALTER TABLE linux DROP age;
4、更改表结构,指定新添加表内容的位置
ALTER TABLE linux ADD age varchar(4) AFTER password;
5、更新表格内容:将表中所有用户的性别改为man
UPDATA linux set sex='man';
6、更改指定用户的内容:将user1的性别改为wm
UPDATE linux set sex='wm' WHERE username='user1';
5.4 删除
1、删除指定内容信息
DELETE FROM linux WHERE username='user1' and sex='wm'; #删除用户名为user1并且性别为wm的用户信息
2、删除表
DROP TABLE linux;
3、删除库
DROP DATABASE wang;
六、数据库的密码管理
6.1 更改数据库密码
mysqladmin -uroot -pwangdan password dan
mysql -uroot -pdan
6.2 数据库密码的**
1、关闭mariadb服务
systemctl stop mariadb.service
2、用单用户模式进入数据库并将进程打入后台
mysqld_safe --skip-grant-tables &
3、进入数据库进行更改
mysql
USE mysql;
SELECT * FROM user;
UPDATE mysql.user SET Password=password('hahaha'),authentication_string=password('hahaha') WHERE User='root';
SELECT * FROM user;
flush privileges;
quit
4、结束后台mysql进程
ps aux | grep mysqld
kill -9 41820
kill -9 41920
5、重启服务后再次进入mysql,**密码可以登录
systemctl restart mariadb.service
mysql -uroot -phahaha
七、用户授权
上一篇: MongoDB数据库