目录
一、数据库简介
1、数据库——高级的表格软件
按照数据结构来组织、存储和管理数据的仓库,是一个长期存储在计算机内的、有组织的、可共享的、统一管理的大量数据的集合。
2、常见数据库
MySQL,Oracle,mongodb,db2,sqlite,sqlserver …
3、MySQL
最受欢迎的开源SQL数据库管理系统,属于 Oracle 旗下产品
4、mariadb
mariadb是一个采用Maria存储引擎的MySQL分支,是免费开源的数据库服务器。
5、数据库中的常用名词
1. 字段 :表格中的表头2. 表 :表格3. 库 :存放表格的目录4. 查询 :对表格中的指定内容进行查看
二、mariadb的基本信息
1、mariadb的安装
dnf install mariadb-server.x86_64 -y
systemctl enable --now mariadb ##开启数据库
2、基本信息
mariadb.service ##启动服务3306 ##默认端口号/ etc / my.cnf.d / mariadb - server.cnf ## 主配置文件/ var / lib / mysql ##数据目录 , 当需要重新安装 mariadb 时需要清理此目录或备份
三、数据库的安全初始化
数据库在开启后默认没有密码登录,安全性不高,就需要做安全初始化
1、关闭数据库开放端口
vim /etc/my.cnf.d/mariadb-server.cnf ##编辑配置文件
systemctl restart mariadb ##重启服务
2、执行安全初始化脚本
mysql_secure_installation
安全初始化完成后使用mysql-u
:指定登录用户,-p
:密码
mysql -u root -p
四、数据库的基本管理
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'
注意:命令后面的分号;(应为英文输入)不能少
2、新建
CREATE DATABASE yyl; ##新建库CREATE TABLE yyl.userlist ( ##新建表username varchar( 6 ) not null,password varchar( 30 ) not null);DESC yyl.userlist; ##显示表结构INSERT INTO linux VALUES ( 'user1' , '123' ); # 插入数据FLUSH PRIVILEGES; #刷新数据库
3、更改
ALTER TABLE redhat RENAME linux;ALTER TABLE linux ADD age varchar( 4 ) AFTER password;ALTER TABLE linux DROP age;UPDATE linux SET sex = 'g' WHERE username = 'user2' ;
更改库名称(一般不更改,可能造成数据丢失)
cd /var/lib/mysql/ ##切换到数据库目录
mv skk pop ##更改文件名
systemctl restart mariadb ##重启服务
更改表名称:
更改表结构
默认在最后 AFTER 在谁后面
更改表中数据
4、删除
DELETE from linux where username = 'user2' and age = '18' ;DROP TABLE linux;DROP DATABASE westos;
删除表中数据
删除表的结构
删除表
删除库
五、数据密码管理
1、数据库密码更改
前提是知道原先的密码
mysqladmin -u root -p旧密码 password 新密码
2、数据库密码破解
不知道密码的情况下可以使用
systemctl stop mariadb ##停止mariadb服务
mysqld_safe --skip-grant-tables & ##执行mysql安全协议,跳过密码检测
使用mysqladmin更改过密码
UPDATE mysql.user SET authentication_string=password('skk') WHERE User='root';
##设定root用户密码为skk,且加密
flush privileges; ##刷新
未使用mysqladmin更改过密码
直接更改密码即可
六、数据库的备份
- 备份的实质是建立一样的库和表以及表中的数据,与复制一样
- 备份的作用是防止原数据库出现损坏或者丢失带来的问题
1、数据库整体的备份
mysqldump -uroot -p --all-database ##备份数据库的全部内容
mysqldump -uroot -p --all-database --no-data ##备份时不备份表中的数据,只备份库和表的结构
2、单独库的备份
mysqldump -uroot -p skk ##备份skk库的所有内容
mysqldump -uroot -p skk > /mnt/skk.sql ##备份skk库中内容到/mnt/skk.sql
3、备份的恢复
- 如果被备份的库不小心被删除,可以进行以下恢复
mysql -uroot -p -e "CREATE DATABASE skk;" ##先建立一个库
mysql -uroot -p skk < /mnt/skk.sql ##将备份导回之前的库
测试:
七、用户授权
1、创建用户
CREATE USER sk@localhost identified by 'yyl'; ##创建用户yyl,只能用localhost登录,by后面输入密码
CREATE USER yyl@'%' identified by'%'; ##创建用户可以通过网络或localhost登录
2、添加权限给新建用户
GRANT SELECT,INSERT,DROP ON yyl.* TO sk@localhost; ##给yyl用户添加查询,插入和删除权限
3、去除权限
REVOKE SELECT ON yyl.* FROM sk@localhost; ##去除yyl用户的查询权限
4、删除用户
DROP USER yyl@localhost; ##删除yyl用户
八、phpmyadmin的安装
- 安装完成后可以在网页上对数据库进行操作,会更加便捷
1、安装htpd,php,php-mysqlnd
dnf install httpd php php-mysqlnd -y
systemctl enable --now httpd
firewall-cmd --permanent --add-service=http
firewall-cmd --reload
systemctl restart httpd
2、安装phpmyadmin
(此处安装3.4版本,因为比较稳定,最新版可能会因为配套软件版本过老而出错)
- 软件包提前从网上下好
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.bz2 ##解档解压缩
mv phpMyAdmin-3.4.0-all-languages mysqladmin ##方便辨认,更改名称
cp config.sample.inc.php config.inc.php ##使用配置文件模板作配置文件