一.数据库的介绍
1.什么是数据库
数据库就是个高级的表格软件
2.常见数据库
Mysql Oracle mongodb db2 sqlite sqlserver …
3.Mysql (SUN -----> Oracle)
4.mariadb
##数据库中的常用名词##
1.字段 :表格中的表头
2.表 :表格
3.库 :存放表格的目录
4.查询 :对表格中的指定内容进行查看
二.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
五.数据库的安全初始化
1.关闭数据库开放端口
vim /etc/my.cnf.d/mariadb-server.cnf
[mysqld]
skip-networking=1
systemctl restart mariadb
netstat -antlupe | grep mysql #此命令查询不到端口
2.执行安全初始化脚本
mysql_secure_installation
[root@Mariadb ~]# mysql ##默认不需要密码,初始化完毕后需要
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
[root@Mariadb ~]# mysql -uroot -p ## -u 指定登陆用户 -p 密码
六.数据库的基本管理
1.查看
mysql - u root -p //进入数据库
SHOW DATABASES; ##显示库名称
USE mysql; ##进入mysql库
SHOW TABLES; ##显示库中的所有表
SELECT * FROM user; ##查询所有数据
SELECT Host,User,Password FROM user; ##查询指定字段
SELECT Host FROM mysql.user WHERE User='root'
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; #刷新数据库
3.更改
ALTER TABLE redhat RENAME linux; //将redhat重命名为linux
ALTER TABLE linux ADD age varchar(4) AFTER password; //添加一项
ALTER TABLE linux DROP age; //删除age项
UPDATE linux SET age='24' WHERE username='user2'; //user2的年龄为24
4.删除
DELETE from linux where username='user2' and age='18'; //删除user2且age=18的行
DROP TABLE linux; //删除表linux
DROP DATABASE westos; //删除数据库linux
七.数据密码管理
1.数据密码更改
shell中
mysqladmin -uroot -p password westos // 将密码修改成westos
2.数据库密码破解
(1)shell中设置:
systemctl stop mariadb //先暂停mysql进程
mysqld_safe --skip-grant-tables & //将跳过验证表的进程打入后台
(2)mysql中设置:
二选一:
UPDATE mysql.user set Password=password('lee') WHERE User='root'; //当未使用过mysladmin更改过密码
UPDATE mysql.user set authentication_string=password('lee') WHERE User='root'; //当使用过mysladmin更改过密码
(3)shell中设置:
flush privileges; //重新加载数据库
ps aux | grep mysql //查询mysql相关的进程id
kill -9 jobs id //杀掉所有的mysql相关进程
systemctl start mariadb //重启mysql
八.用户授权
1.创建本地和远程用户
mysql中的root进行
CREATE USER hkk@localhost identified by 'westos'; ##hkk只能用localhost登陆,密码是westos
CREATE USER westos@'%' identified by 'westos'; ##westos可以通过网络或localhost登陆,密码是westos
2.用户授权的增加和删除
只能在mysql的root用户进行
GRANT INSERT,SELECT ON westos.* TO westos@localhost; //给用户增和浏览的权力
SHOW GRANTS for westos@localhost; //查看用户的授权,只能在mysql的root用户下看授权。
REVOKE SELECT ON westos.* FROM westos@localhost; //删除用户的授权
3.删除用户
只能在mysql的root用户进行
DROP user westos@localhost; //删除用户
4. 远程登陆
只能在有mariadb的终端的shell中进行
vim /etc/my.cnf.d/mariadb-server.cnf
#skip-networking=1 //将这个注释掉,不跳过网络。
systemctl stop firewalld.service //关闭火墙
systemctl restart mariadb.service //重启服务
mysql -uwestos -p -h 172.25.254.241 //可以远程登陆
mysql -uhkk -p -h 172.25.254.241 //不可以远程登陆
九.数据库的备份
1.库的备份
shell中:
mysqldump -uroot -p123 --all-databases //备份所有的库
mysqldump -uroot -p123 --all-database --no-data //备份所有的库的结构,不要数据
mysqldump -uroot -p123 westos //备份指定的westos库
mysqldump -uroot -p123 westos > /mnt/westos.sql //备份指定的库到指定的路径
2.测试
(1)test1(先创建库再导入):
mysql -uroot -p123 -e "create database westos;"
mysql -uroot -p123 westos < /mnt/westos.sql
(2)test2(一次性完成):
shell中进行:
vim /mnt/westos.sql
CREATE DATABASE westos;
USE westos;
mysql -uroot -p123 < /mnt/westos.sql
十.phpmyadmin的安装
实验步骤:
1、http、php下载安装及启用,火墙通过。
dnf install httpd -y
dnf install php -y
systemctl enable --now httpd
firewall-cmd --permanent --add-service=http
firewall-cmd --reload
2、下载安装phpmysqladmin,及解压安装
tar jxf cp phpMyAdmin-3.4.0-all-languages.tar.bz2 -C /var/www/html/
//-C 指定解压到的路径
3、phpMyAdmin-3.4.0-all-languages移动路径
mv phpMyAdmin-3.4.0-all-languages/ mysqladmin
4、插件的配置文件
cp config.sample.inc.php config.inc.php
5、配置文件的修改
cd /var/www/html/mysqladmin
less Documentation.txt //找到一串数字,在quick install那里
vim config.inc.php //把数字放进去
6、php额外插件安装
dnf install php-mysqlnd.x86_64 -y //额外插件的安装
7、重启服务
systemctl restart httpd
8、测试:
firefox http://172.25.254.241/mysqladmin