1 数据库mariadb的介绍
MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可 MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品。在存储引擎方面,使用XtraDB(英 语:XtraDB)来代替MySQL的InnoDB。 MariaDB由MySQL的创始人Michael Widenius(英语:Michael Widenius)主导开发,他早前曾以10亿美元的价格,将自己创建的公司MySQL AB卖给了SUN,此后,随着SUN被甲骨文收购,MySQL的所有权也落入Oracle的手中。MariaDB名称来自Michael Widenius的女儿Maria的名字。
2 mariadb的特点
为什么mariadb比较常用,它与 MySQL 相比较,它是mysql的一个分支,MariaDB 更强的地方在于:
Maria 存储引擎
PBXT 存储引擎
XtraDB 存储引擎
FederatedX 存储引擎
更快的复制查询处理
更少的警告和bug
运行速度更快
更多的 Extensions (More index parts, new startup options etc)
更好的功能测试
数据表消除
慢查询日志的扩展统计
支持对 Unicode 的排序
3 MySQL 数据类型
MySQL中定义数据字段的类型对你数据库的优化是非常重要的。
MySQL支持多种类型,大致可以分为三类:数值、日期/时间和字符串(字符)类型。
4 数值类型
MySQL支持所有标准SQL数值数据类型。
这些类型包括严格数值数据类型(INTEGER、SMALLINT、DECIMAL和NUMERIC),以及近似数值数据类型(FLOAT、REAL和DOUBLE PRECISION)。
关键字INT是INTEGER的同义词,关键字DEC是DECIMAL的同义词。
BIT数据类型保存位字段值,并且支持MyISAM、MEMORY、InnoDB和BDB表。
作为SQL标准的扩展,MySQL也支持整数类型TINYINT、MEDIUMINT和BIGINT。
5 RDBMS 术语
在我们开始学习MySQL 数据库前,让我们先了解下RDBMS的一些术语:
- 数据库: 数据库是一些关联表的集合。
- 数据表: 表是数据的矩阵。在一个数据库中的表看起来像一个简单的电子表格。
- 列: 一列(数据元素) 包含了相同的数据, 例如邮政编码的数据。
- 行:一行(=元组,或记录)是一组相关的数据,例如一条用户订阅的数据。
- 冗余:存储两倍数据,冗余降低了性能,但提高了数据的安全性。
- 主键:主键是唯一的。一个数据表中只能包含一个主键。你可以使用主键来查询数据。
- 外键:外键用于关联两个表。
- 复合键:复合键(组合键)将多个列作为一个索引键,一般用于复合索引。
- 索引:使用索引可快速访问数据库表中的特定信息。索引是对数据库表中一列或多列的值进行排序的一种结构。类似于书籍的目录。
- 参照完整性: 参照的完整性要求关系中不允许引用不存在的实体。与实体完整性是关系模型必须满足的完整性约束条件,目的是保证数据的一致性。
MySQL 为关系型数据库(Relational Database Management System), 这种所谓的"关系型"可以理解为"表格"的概念, 一个关系型数据库由一个或数个表格组成, 如图所示的一个表格:

6 数据库mariadb的安装与初始化设定
实验环境准备:
环境准备:reset虚拟机 重新配置网络id+100 检查yum源

1.安装
yum search mariadb
yum install mariadb-server.x86_64 -y
systemctl start mariadb ##开启数据库


2.安全初始化
1)skip-networking=1 ##跳过网络服务
systemctl restart mariadb ##重启数据库
2)数据库起始状态设定信息不安全,无密码可以登陆
mysql_secure_installation ##设定安全密码 回车 密码 密码 全回车
mysql_uroot -pwestos ##进入数据库时外显密码,安全性太差
mysql_uroot -p ##进入命令行再输入密码
2)默认情况下,数据库的网络接口是打开的
为了安全需要 关闭此接口
vim /etc/my.cnf ##关闭网络接口


设置完密码后登录:

为了保证网络安全性,关闭网络连接,重启服务:

在实际生产环境中,养成输入密码的习惯:

3.数据库的管理
3.1)数据库的查询
SHOW DATABASES; ##查询所有数据库
USE DATABASENAME; ##进入数据库
SHOW TABLES; ##查询数据库中的所有表
SELECT * FROM TABLENAME ##查询表中的所有信息
SELECT (字段NAME1,字段NAME2) FROM user(表名) WHERE User=‘root’;
##按照WHERE 后的条件选择 表中字段NAME1,字段NAME2的信息


进入某个数据库:


where字段的使用:


3.2 )数据库的建立,数据表的建立:
SHOW DATABASES; ##列出所有数据库
CREATE DATABASE (NAME) westos; ##建立westos数据库
USE westos; ##进入数据库westos
CREATE TABLE userlist ( ##在westos库中建立表
-> username varchar(50) not null, ##不可为空
-> passwd varchar(100)not null,
-> class varchar(5), ##可为空
-> );
DESC userlist; ##查看表结构
INSERT INTO userlist VALUES('haha','111'); ##插入数据到userlist表中
SELECT * FROM userlist; ##查询userlist表中的所有字段
SELECT username,passwd from userlist; ##查询userlist表中的指定字段


插入数据:

联合字段查询:
=
更改表:
UPDATE userlist SET passwd=passwd(‘123’)where username=‘lee’;##更改指定用户的信息
ALTER TABLE userlist ADD class varchar(20)(AFTER user); ##在指定位置增加列;
ALTER TABLE userlist DROP class; ##删除指定列
ALTER TABLE userlist RENAME redhat; ##表重命名


where是一个很重要的字段,联合update联合更新:

4)备份
mysqldump -uroot -pwestos westos > /mnt/westos.sql ##把westos库 备份到/mnt下westos。sql中
mysqldump -uroot -pwestos westos --no-data ##无数据备份
mysqldump -uroot -pwestos --all-database ##备份所有数据库
mysqldump -uroot -pwestos --all-database --no-data ##无数据备份所有数据库
*.sql 从本质上说就是个文本文件,你可以自己创建一个txt文件然后把它后缀改成.sql,完全没问题。之所以将它的后缀改成.sql,是方便我们的操作系统去辨认这个文件默认的打开编辑工具,你双击一个txt文件他是用记事本打开,但双击.sql文件,会用机器上的数据库工具打开,里面的内容随便写。
比如之前的sql语句都被就被记录在sql文件中:



删除:
DELETE FROM redhat WHERE name=‘lee’; ##删除redhat表中name=lee的信息
DROP TABLE redhat; ##删除表
DROP DATABASE westos; ##删除库



数据库备份后恢复:
数据库恢复很重要,有两种备份方式:
恢复方式1:
mysql -uroot -pwestos -e "CREATE DATABASE westos;"(名字要一样,否则可能丢失数据)
mysql -uroot -pwestos < /mnt/westos.sql
恢复方式2:
vim /mnt/westos.sql
写入:
CREATE DATABASE westos;
USE westos;
mysql -uroot -pwestos < /mnt/westos.sql


写入sql文件恢复备份:

4)用户授权
因为数据库的使用是多用户,需要对个别用户授权:
CREATE USER westos@'%' identified by 'westos'; ##建立用户westos,密码westos 远程可登陆
CREATE USER westos1@localhost identified by 'westos'; ##建立用户westos1,密码westos 仅允许本地登陆
SHOW GRANT FOR westos1@localhost ##查看westos@localhost用户权限
GRANT SELECT,INSERT,DELETE,DROP on westos.* TO westos1@localhost
给westos1@localhost用户在westos库添加权限
REVOKE INSERT ON westos.* FROM westos1@localhost; ##撤销权限
FLUSH PRIVILEGES; ##刷新



查看权限,给于权限:

实验验证用户权限:


撤回权限:


删除用户:

5)修改用户密码:
有时候会出现数据库密码忘记或者需要强制更改密码:
1)知道原始密码:
mysqladmin -uroot -pwestos password (新密码)van
2)忘记原始密码:
systemctl stop mariadb ##关闭数据库
mysald_safe --skip-grant-tables & ##跳过认证 后台运行数据库
mysql
UPDATE mysql.user SET Password=password('westos') WHERE User='root';
killall -9 mysqld_safe
开启数据库 验证密码
1)当知道密码时,情况简单,直接使用passwd命令更改:
2
2)当忘记数据库密码:

6)安装phpmyadmin 数据库图形管理
phpMyAdmin 是一个以PHP为基础,以Web-Base方式架构在网站主机上的MySQL的数据库管理工具,让管理者可用Web接口管理MySQL数据库。借由此Web接口可以成为一个简易方式输入繁杂SQL语法的较佳途径,尤其要处理大量资料的汇入及汇出更为方便。其中一个更大的优势在于由于phpMyAdmin跟其他PHP程式一样在网页服务器上执行,但是您可以在任何地方使用这些程式产生的HTML页面,也就是于远端管理MySQL数据库,方便的建立、修改、删除数据库及资料表。也可借由phpMyAdmin建立常用的php语法,方便编写网页时所需要的sql语法正确性。
环境:需要提前安装httpd
进去/var/www/html/
登陆lftp 712.25.254.250
1.下载 phpMyadmin-3.4.0-all-languages
2.yum install php php-mysql -y
3.重启httpd
4. 解压安装包 并简化目录名
5.查看Document.txt 配置文件
cp config.sample.inc.php config.inc.php
6.修改ia配置文件 vim config.inc.php
加入Do``中指定加入的内容
$cfg['blowfish_secret']='```';
测试:
http://172.25.254.135/mysqladmin
出现图形界面的mysql
下载phpadmin包解压,因为需要web服务,所以需要httpd:


修改php页面与配置文件,连接数据库与php:



登录页面:

本文介绍了MariaDB数据库管理系统,它是MySQL的一个分支,由MySQL创始人Michael Widenius主导开发。文章详细阐述了MariaDB的特点,如存储引擎和更快的复制查询处理,并与MySQL进行了对比。此外,还讲解了MySQL的数据类型、RDBMS术语,以及MariaDB的安装、初始化设定、数据库管理、备份恢复、用户授权、密码修改和phpMyAdmin的安装,为读者提供全面的数据库管理知识。
2485

被折叠的 条评论
为什么被折叠?



