目录
1.数据库的介绍
1.什么是数据库
数据库就是个高级的表格软件
2.常见数据库
Mysql Oracle mongodb db2 sqlite sqlserver .......
3.Mysql (SUN -----> Oracle)
4.mariadb
数据库中的常用名词
1.字段 :表格中的表头
2.表 :表格
3.库 :存放表格的目录
4.查询 :对表格中的指定内容进行查看
2.mariadb的安装
dnf install mariadb-server.x86_64 -y
3.软件基本信息
mariadb.service #启动服务
3306 #默认端口号
/etc/my.cnf.d/mariadb-server.cnf #主配置文件
/var/lib/mysql #数据目录,当需要重新安装mariadb时需要清理此目录或备份
4.数据库开启
systemctl enable --now mariadb
5. 数据库的安全初始化
5.1.关闭数据库开放端口
vim /etc/my.cnf.d/mariadb-server.cnf
skip-networking=1
systemctl restart mariadb
netstat -antlupe | grep mysql #此命令查询不到端口
5.2.执行安全初始化脚本
mysql_secure_installation
set root password #设置root密码
remove aninymous users #移除匿名用户登陆
disallow root login remotely #拒绝远程root登陆
remove test database and access to it #移除测试数据库
reload privilege tables now #重新加载表数据[root@Mariadb ~]# mysql #默认不需要密码,初始化完毕后需要
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)[root@Mariadb ~]# mysql -uroot -p # -u 指定登陆用户 -p 密码
6.数据库的基本管理
6.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'
6.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'),('user2','222'); #插入数据
6.3.更改
ALTER TABLE linux RENAME redhat; #重命名
ALTER TABLE linux ADD age varchar(4) AFTER password; #指定位置添加数据类型
UPDATE linux SET username='us2' WHERE username='user2'; #更新表数据
6.4.删除
DELETE from linux where username='user2' and age='18'; #删除指定数据
ALTER TABLE linux DROP age; #删除表中指定的数据类型
DROP TABLE linux; #删除表
DROP DATABASE westos; #删除库
6.5.刷新
FLUSH PRIVILEGES; #刷新数据库
7.数据库密码管理
7.1.数据密码更改
mysqladmin -uroot -p password westos #知道密码的情况下修改密码
7.2.数据库密码破解
systemctl stop mariadb
mysqld_safe --skip-grant-tables & #跳过认证表UPDATE mysql.user set Password=password('lee') WHERE User='root'; #当未使用过mysladmin更改过密码,修改Password
UPDATE mysql.user set authentication_string=password('lee') WHERE User='root'; #当使用过mysladmin更改过密码,修改authentication_string
ps aux | grep mysql
kill -9 mysql的所有进程
systemctl start mariadb
8.phpmyadmin的安装
dnf install httpd php php-mysqlnd -y
systemctl enable --now httpd
firewalld-cmd --add-service=httpd
cp phpMyAdmin-3.4.0-all-languages.tar.bz2 /var/www/html/
cd /var/www/html/
tar jxf phpMyAdmin-3.4.0-all-languages.tar.gzmkdir /westos
mv phpMyAdmin-3.4.0-all-languages /westos
cd /westos/phpMyAdmin-3.4.0-all-languages
cp config.sample.inc.php config.inc.php
######vim config.inc.php
######['blowfish_secret']='ba17clec07d65003';
systemctl restart httpd
firefox http://172.25.254.121/westos
9.数据库的备份
备份就是用代码把库里的数据再创建一次,备份如果不定向到文件中,意味着只是查看并不会产生备份文件
mysqldump -uroot -pwestos --all-database #所有数据库
mysqldump -uroot -pwestos --all-database --no-data #数据库的框架,不包括数据
mysqldump -uroot -pwestos westos
mysqldump -uroot -pwestos westos > /mnt/westos.sql #把westos数据库备份到westos.sql文件中
恢复1:
mysql -uroot -pwestos -e "DROP DATABASE westos;"
mysql -uroot -pwestos -e "CREATE DATABASE westos"
mysql -uroot -pwestos westos < /mnt/westos.sql #恢复数据库westos,如果没有修改sql文件需要先建立数据库
恢复2:
mysql -uroot -pwestos -e "DROP DATABASE westos;"
vim /mnt/westos.sql
21 CREATE DATABASE westos;
22 USE westos;
mysql -uroot -pwestos < /mnt/westos.sql #不用指定数据库,可以直接恢复
10.用户授权
vim /etc/my.cnf.d/mariadb-server.cnf
注释掉21行,表示可以远程登陆CREATE USER westos@localhost identified by 'westos'; #只能用localhost登陆,密码westos
CREATE USER lee@'%' identified by 'westos'; #可以通过网络或localhost登陆,密码westos
SELECT *FROM mysql.user; #查看用户
![]()
GRANT SELECT ON westos.* TO lee@‘%’; #给予lee查看数据库westos的权力
SHOW GRANTS for lee@localhost; #查看权力
REVOKE SELECT ON westos.* FROM lee@localhost; #删除给lee查看数据库westos的权力
DROP user lee@localhost; #删除用户