1.数据库的概念
- 数据库,简而言之可视为电子化的文件柜——存储电子文件的处所,用户可以对文件中的数据进行新增、截取、更新、删除等操作
- 所谓“数据库”是以一定方式储存在一起、能与多个用户共享、具有尽可能小的冗余度、与应用程序彼此独立的数据集合
- 数据对一个企业是非常重要的,其实就相当于我们每个人的信息就是自己的属性,并且把它记录在一个文件里面
- 多张表格组成一个数据库,tab (表)---->db (库)----->数据库软件
- 我们现在学对数据库的一些基本操作,其实就是一个高级的excel表格
2. mariadb数据库的概念
- MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可 ,MariaDB的目的是完全兼容MySQL
- 包括API和命令行,使之能轻松成为MySQL的代替品。在存储引擎方面,使用XtraDB(英语:XtraDB)来代替MySQL的InnoDB
- MariaDB基于事务的Maria存储引擎,替换了MySQL的MyISAM存储引擎,它使用了Percona的 XtraDB,InnoDB的变体
- 分支的开发者希望提供访问即将到来的MySQL 5.4 InnoDB性能,这个版本还包括了 PrimeBase XT (PBXT) 和 FederatedX存储引擎
- 目前主流的数据库管理系统有:MySQL、Microsoft SQL Server、Oracle、Postgresql等
3.直接访问
yum install mariadb-server -y
#安装软件systemctl start mariadb
#开启mariadb服务- 可输入命令mysql直接访问,这种访问不安全
- 配置目录:/var/lib/mysql/ #重新安装的话需要将其中数据全部删掉
4.安全初始化
- 默认情况下,数据库的网络接口是打开的,为了安全需要关闭此接口
vim /etc/my.cnf
#编辑配置文件- 编辑内容为:
skip-networking=1
#关闭网络接口
systemctl restart mariadb
#重启- 数据库起始状态设定信息是不安全的,需要做以下设定:
mysql_secure_installation
#进行安全初始化
mysql
#匿名用户不能进行登录mysql -urooot -p
#超级用户可以登录
5.数据库的管理
1.查询
mysql -uroot -p 先进入数据库
SHOW DATABASES;查看都有哪些数据库(可以看到存在的数据库的名字)
SHOW TABLES; #查看表
USE DATABASENAME:库的名字 #进入库
SELECT * FROM TABLE #查看表中的所有内容
SELECT Host FROM user WHERE User='root'; #查看表中的具体信息
SELECT Host User (列:字段条件) FROM user(表格名字) WHERE User='root'(行条件);(相当于条件查询)
2.建立
SHOW DATABASES; ##列出存在的库
CREATE DATABASE westos; #建立库westos
USE westos; #进入库
CREATE TABLE linux ( #建立表linux
-> username字段 varchar()字符长度 not null,添加的内容不能为空
-> password varchar() not null
-> );
DESC linux; #查看表结构
INSERT INTO linux VALUES ('qaz','123'); #插入数据到linux表中
SELECT * FROM linux; #查询所有字段在linux表中
SELECT username,passwd from linux; #查询指定字段在linux表中
3.更改
UPDATE linux SET password=password('666') WHERE username='qaz'; #更改用户qaz的密码为666且密码用加密字符的方式显示
ALTER TABLE linux ADD class varchar(20); #在表中新添加一栏内容class
ALTER TABLE linux ADD age varchar(3) AFTER password; #在password栏后添加age栏
ALTER TABLE linux RENAME westos; #将表的名称linux改为westos
4.删除
ALTER TABLE linux DROP class; #删除class此栏
DELETE FROM linux WHERE username='qaz'; #删除linux表中的qaz用户
DROP TABLE linux; #删除表结构
DROP DATABASE westos; #删除库
5.关于用户密码的设定
- 当知道用户密码时:
mysqladmin -uroot -p123 password 1234
#将root用户的密码123改为1234
- 当root用户密码忘记时:
systemctl stop mariadb ##关闭服务mariadb
mysqld_safe --skip-grant-tables & ##跳过验证表并将程序打入后台
mysql ##进入数据库
SHOW DATABASES; ##列出存在的库
USE mysql; ##使用库mtsql
UPDATE user SET Password='123' WHERE User='root'; #将root用户的密码改为123
SELECT Host,User,Password FROM user; #查看
jobs ##查看后台进程
killall -9 mysqld_safe ##关掉所有的mysql进程id
ps aux | grep mysql #查看有关mysql的进程
kill -9 mysql所在的进程号
ps aux | grep mysql #查看有关mysql的进程
systemctl restart mariadb #重启服务
6.数据库的备份及恢复
1.备份方式:
mysqldump -uroot -p123 --all-datebase #备份所有的库(-p之后加的是root的密码)
mysqldump -uroot -p123 --all-datebase --no-data #备份所有库但不包括数据
mysqldump -uroot -p123 westos > /mnt/westos.sql #将westos库的信息备份到/mnt/westos.sql文件中
mysqldump -uroot -p123 westos --no-data #备份westos库但不包括数据
ls /mnt/
#查看/mnt/mysqldump -uroot -p123 westos > /mnt/westos.sql
#将westos库的信息备份到/mnt/westos.sql文件中vim /mnt/westos.sql
#查看文件内容是否存在备份的信息mysql -uroot -p
#root用户登录删除westos库
2.恢复方式:
1>方式一:
mysql -uroot -p123 -e 'CREATE DATABASE westos;' #在命令行执行新建库的操作
mysql -uroot -p123 westos < /mnt/westos.sql #指定备份文件恢复的库
2>方式二:
vim /mnt/westos.sql #在备份的文件中添加信息
添加的信息如下:
CREATE DATABASE westos;
USE westos;
mysql -uroot -p123 < /mnt/westos.sql #指定备份文件恢复的库
7.用户授权
localhost只能在本机登录
'%'在任何主机上都可以登录
identified 密码
mysql -uroot -p123 #root用户登录
CREATE USER wsx@localhost identified by '123'; #建立用户wsx,密码123
SELECT User,Host FROM mysql.user; #在mysql库user表中查看user与host的内容
GRANT SELECT,INSERT,DELETE on westos.* TO wsx@localhost; #给用户wsx授予SELECT,INSERT,DELETE的权力
SHOW GRANTS FOR wsx@localhost; #查看此用户的权力
- 测试:
mysql -uwsx -p123
SHOW DATABASES;
USE westos;
SELECT * FROM westos.linux;
INSERT INTO linux VALUES ('edc','123');
SELECT * FROM westos.linux;
DELETE FROM westos.linux WHERE username='edc' AND password='123';
SELECT * FROM westos.linux;
- 取消授权:
mysql -uroot -p123
REVOKE DELETE ON westos.* FROM wsx@localhost; #收回用户删除的权力
DROP USER wsx@localhost;
SHOW GRANTS FOR wsx@localhost;
FLUSH PRIVILEGES;
8.网页主流架构
yum install httpd -y #安装服务httpd
yum install php -y #安装软件php
yum install php-mysql.x86_64 -y #安装支持php的软件包
systemctl start httpd #开启httpd
systemctl enable httpd #使httpd生效
systemctl start mariadb #开启mariadb
systemctl enable mariadb #使mariadb生效
cd /var/www/html/ #切换到默认发布目录下
在html中有三个目录:传输readme upload utility目录到html中
chmod 777 -R upload/config/ upload/data/ upload/uc_* #添加权限
测试:在真机的浏览器中访问虚拟机的172.25.254.77/upload/index.php
9.安装phpmyadmin数据库图形管理
传输phpMyAdmin-3.4.0-all-languages.tar.bz2到发布目录下
cd /var/www/html #切换到默认发布目录下
tar jxf phpMyAdmin-3.4.0-all-languages.tar.bz2 #解压
rm -rf phpMyAdmin-3.4.0-all-languages.tar.bz2 #删除压缩包
mv phpMyAdmin-3.4.0-all-languages mysqladmin #更改名称为mysqladmin
cd mysqladmin/ #切换到mysqladmin下
ls #查看内容
vim Documentation.txt #查找授权码
cp config.sample.inc.php config.inc.php #生成配置文件
vim config.inc.php #将授权码添入
systemctl restart httpd #重启httpd服务
测试:在浏览器中输入:172.25.254.77/mysqladmin