一、数据库的介绍

1.什么是数据库

数据库就是个高级的表格软件

2.常见数据库

Mysql Oracle mongodb db2 sqlite sqlserver …

3.数据库中的常用名词

名词	解释
字段	表格中的表头
表		表格
库		存放表格的目录
查询	对表格中的指定内容进行查看

4.Mysql (SUN----> Oracle)

mysql数据库本来是SUN公司的,后来SUN公司被甲骨文Oracle公司收购。mysql数据库后来更名为mariadb.

二、mariadb的安装

dnf install mariadb-server.x86_64 -y

三、软件基本信息

mariadb.service ##启动服务

3306 ##默认端口号

/etc/my.cnf.d/mariadb-server.cnf ##主配置文件

/var/lib/mysql ##数据目录,当需要重新安装mariadb时需要清理此目录或备份

四、数据库开启

systemctl enable --now mariadb

mysql 中文姓名默认排序是什么规则 mysql数据库默认名称_数据库

五、数据库的安全初始化

1、执行安全初始化脚本

mysql_secure_installation

mysql 中文姓名默认排序是什么规则 mysql数据库默认名称_mysql_02

是否移除匿名用户:选是

是否不允许root用户远程登录:选是

mysql 中文姓名默认排序是什么规则 mysql数据库默认名称_mysql_03

是否把测试库的访问权力禁掉:选是是否刷新数据库:选是

mysql 中文姓名默认排序是什么规则 mysql数据库默认名称_数据库_04

2、关闭数据库开放端口

netstat -antlupe | grep mysql #查询数据库端口

mysql 中文姓名默认排序是什么规则 mysql数据库默认名称_mysql_05

编辑配置文件关闭开放端口

vim /etc/my.cnf.d/mariadb-server.cnf
添加:
skip-networking=1

systemctl restart mariadb.service
再次查询端口
netstat -antlupe | grep mysql

mysql 中文姓名默认排序是什么规则 mysql数据库默认名称_数据库_06

mysql 中文姓名默认排序是什么规则 mysql数据库默认名称_数据库_07

六、数据库的基本管理

登录命令:

mysql -uroot -pxxx(密码)
或mysql -uroot -p 输入密码隐藏登录

mysql 中文姓名默认排序是什么规则 mysql数据库默认名称_mariadb_08

1、关于查看的指令

SHOW DATABASES; ##显示库名称
USE mysql; ##进入mysql库
SHOW TABLES; ##显示库中的所有表
SELECT * FROM user; ##查询所有数据
SELECT Host,User,Password FROM user; ##查询指定字段
SELECT Host FROM mysql.user WHERE User='root' ##查询指定字段并指定可查询的条件,多个条件用AND并联

mysql 中文姓名默认排序是什么规则 mysql数据库默认名称_php_09

mysql 中文姓名默认排序是什么规则 mysql数据库默认名称_mariadb_10

mysql 中文姓名默认排序是什么规则 mysql数据库默认名称_php_11

mysql 中文姓名默认排序是什么规则 mysql数据库默认名称_数据库_12

mysql 中文姓名默认排序是什么规则 mysql数据库默认名称_mariadb_13

mysql 中文姓名默认排序是什么规则 mysql数据库默认名称_数据库_14

mysql 中文姓名默认排序是什么规则 mysql数据库默认名称_mariadb_15

2、关于新建的命令

CREATE DATABASE westos; 		##新建库

##新建表
CREATE TABLE linux ( 				
username varchar(6) not null,
password varchar(30) not null
);

DESC linux; 	##显示表结构
INSERT INTO linux VALUES ('user1','123'); #插入数据
FLUSH PRIVILEGES; 	#刷新数据库

mysql 中文姓名默认排序是什么规则 mysql数据库默认名称_mysql_16

mysql 中文姓名默认排序是什么规则 mysql数据库默认名称_mysql_17

mysql 中文姓名默认排序是什么规则 mysql数据库默认名称_php_18

mysql 中文姓名默认排序是什么规则 mysql数据库默认名称_mariadb_19

mysql 中文姓名默认排序是什么规则 mysql数据库默认名称_mysql_20

3、关于更改的命令

ALTER TABLE linux RENAME userlist; #表格重命名
ALTER TABLE userlist ADD address varchar(20) ##添加新字段
ALTER TABLE linux DROP address;	##删除address字段
ALTER TABLE userlist ADD address varchar(20) AFTER username; ##指定位置添加字段
UPDATE userlist SET address=’XiAn‘; ##更改字段内容
UPDATE userlist SET sex='BeiJing' WHERE username='user1'; ##更改字段内容并更改指定条件

mysql 中文姓名默认排序是什么规则 mysql数据库默认名称_mysql_21

mysql 中文姓名默认排序是什么规则 mysql数据库默认名称_数据库_22

mysql 中文姓名默认排序是什么规则 mysql数据库默认名称_mysql_23

mysql 中文姓名默认排序是什么规则 mysql数据库默认名称_mariadb_24

mysql 中文姓名默认排序是什么规则 mysql数据库默认名称_数据库_25


mysql 中文姓名默认排序是什么规则 mysql数据库默认名称_php_26

4、关于删除的命令

DELETE FROM userlist WHERE username='user1'; ##删除userlist表中符合指定条件的行
DROP TABLE userlist; ##删除表格
DROP DATABASE westos; ##删除数据库

mysql 中文姓名默认排序是什么规则 mysql数据库默认名称_mysql_27

mysql 中文姓名默认排序是什么规则 mysql数据库默认名称_mysql_28


mysql 中文姓名默认排序是什么规则 mysql数据库默认名称_mariadb_29

七、数据密码管理

1、数据密码更改(已知原密码)

mysqladmin -uroot -p123 password lee

mysql 中文姓名默认排序是什么规则 mysql数据库默认名称_php_30

2、数据库密码破解(忘了密码,更换新密码)

systemctl stop mariadb ##先关闭mariadb服务
mysqld_safe --skip-grant-tables & ##启动mysql安全模式并后台运行
mysql ##无需密码进入数据库

##当未使用mysqladmin更改过密码时:
UPDATE mysql.user SET Password=password('westos') WHERE User='root';
##当使用过mysqladmin更改密码时:
UPDATE mysql.user SET authentication=password('westos') WHERE User='root';
更改后:
ps aux | grep mysql
用kill -9  关闭 mysql相关进程
重启服务
systemctl restart mariadb.service

mysql 中文姓名默认排序是什么规则 mysql数据库默认名称_mysql_31

mysql 中文姓名默认排序是什么规则 mysql数据库默认名称_mariadb_32

mysql 中文姓名默认排序是什么规则 mysql数据库默认名称_mysql_33


mysql 中文姓名默认排序是什么规则 mysql数据库默认名称_mysql_34

八、用户授权

CREATE USER lee@localhost identified by 'lee'; ##只能用localhost登陆
CREATE USER lee@% identified by '%'; ##可以通过网络或localhost登陆
GRANT INSERT,SELECT ON westos.* TO lee@localhost;
SHOW GRANTS for lee@localhost;
REVOKE SELECT ON westos.* FROM lee@localhost;
DROP user lee@localhost;
[root@client ~]# mysql -uroot -pwestos -e "CREATE USER lee@'%' identified by 'lee';"
[root@client ~]# mysql -uroot -pwestos -e "SELECT User,Host FROM mysql.user;"
[root@client ~]# vim /etc/my.cnf.d/mariadb-server.cnf 
[root@client ~]# systemctl restart mariadb.service 
[root@client ~]# mysql -ulee -plee -h 172.25.254.101

MariaDB [(none)]> SELECT User FROM mysql.user;   %查看可登陆数据库的本地用户

mysql 中文姓名默认排序是什么规则 mysql数据库默认名称_php_35

mysql 中文姓名默认排序是什么规则 mysql数据库默认名称_php_36

mysql 中文姓名默认排序是什么规则 mysql数据库默认名称_mysql_37

mysql 中文姓名默认排序是什么规则 mysql数据库默认名称_mariadb_38


mysql 中文姓名默认排序是什么规则 mysql数据库默认名称_数据库_39

mysql 中文姓名默认排序是什么规则 mysql数据库默认名称_mysql_40

mysql 中文姓名默认排序是什么规则 mysql数据库默认名称_php_41

九、数据库备份与还原

1、备份

mysqldump -uroot -p123 --all-database --no-data #不备份内容,只备份结构
mysqldump -uroot -p123 --all-database >/mnt/all.sql #将所有数据库内容备份到/mnt/all.sql文件
mysqldump -uroot -p123 westos > /mnt/westos.sql #将westos数据库备份到/mnt/westos.sql文件

为了实验,重新新建数据库westos,在westos库中新建表格userlist,并添加内容

mysql 中文姓名默认排序是什么规则 mysql数据库默认名称_mariadb_42


mysql 中文姓名默认排序是什么规则 mysql数据库默认名称_mariadb_43

2、恢复

先删除westos数据库

mysql 中文姓名默认排序是什么规则 mysql数据库默认名称_mysql_44

方式1:

mysql -uroot -p123 -e "CREATE DATABASE westos;"
mysql -uroot -p123 westos < /mnt/westos.sql

查询:

mysql -uroot -p123 -e "SELECT * FROM westos.userlist;"

mysql 中文姓名默认排序是什么规则 mysql数据库默认名称_mariadb_45

方式2:

vim /mnt/westos.sql
编辑备份文件,添加:
CREATE DATABASE westos;
USE westos;

mysql -uroot -p123 < /mnt/westos.sql
mysql -uroot -p123 -e "SELECT * FROM westos.userlist;"

mysql 中文姓名默认排序是什么规则 mysql数据库默认名称_mysql_46

mysql 中文姓名默认排序是什么规则 mysql数据库默认名称_mariadb_47

十、phpmyadmin的安装

phpmuadmin是一种基于web的网页管理mysql数据库的软件。

dnf install httpd php php-mysqlnd -y    #安装相关软件及服务
systemctl enable --now httpd
systemctl stop firewalld 
cp phpMyAdmin-3.4.0-all-languages.tar.gz  /var/www/html/
cd /var/www/html/
tar jxf phpMyAdmin-3.4.0-all-languages.tar.gz ##解压
mv phpMyAdmin-3.4.0-all-languages/ mysqladmin ##文件改名
cd mysqladmin
cp config.sample.inc.php  config.inc.php ##复制模板文件

mysql 中文姓名默认排序是什么规则 mysql数据库默认名称_mysql_48

mysql 中文姓名默认排序是什么规则 mysql数据库默认名称_mysql_49

mysql 中文姓名默认排序是什么规则 mysql数据库默认名称_php_50

mysql 中文姓名默认排序是什么规则 mysql数据库默认名称_mysql_51

mysql 中文姓名默认排序是什么规则 mysql数据库默认名称_php_52


mysql 中文姓名默认排序是什么规则 mysql数据库默认名称_数据库_53

mysql 中文姓名默认排序是什么规则 mysql数据库默认名称_mariadb_54

mysql 中文姓名默认排序是什么规则 mysql数据库默认名称_mysql_55

测试:在浏览器中访问http://172.25.254.172/mysqladmin

mysql 中文姓名默认排序是什么规则 mysql数据库默认名称_数据库_56

mysql 中文姓名默认排序是什么规则 mysql数据库默认名称_数据库_57

mysql 中文姓名默认排序是什么规则 mysql数据库默认名称_mariadb_58

在网页操作后,查看数据库

mysql 中文姓名默认排序是什么规则 mysql数据库默认名称_数据库_59