数据库服务之mariadb的安装与相关部署管理

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

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:

登录页面:

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值