Linux下MariaDB数据库管理

MariaDB背景

  • MariaDB是MySQL源代码的一个分支,随着Oracle买下Sun,MySQL也落入了关系型数据库王者之手。在意识到Oracle会对MySQL许可做什么后便分离了出来(MySQL先后被Sun、Oracle收购),MySQL之父的Michael以他女儿Maria的名字开始了MySQL的另外一个衍生版本:MariaDB。这两个数据库究竟有什么本质的区别没有?

MariaDB与MySQL区别

  • 区别一:
    MariaDB不仅仅是Mysql的一个替代品,MariaDB包括的一些新特性使它优于MySQL。

  • 区别二:
    MariaDB跟MySQL在绝大多数方面是兼容的,对于开发者来说,几乎感觉不到任何不同。目前MariaDB是发展最快的MySQL分支版本,新版本发布速度已经超过了Oracle官方的MySQL版本。
    MariaDB 是一个采用Aria存储引擎的MySQL分支版本, 这个项目的更多的代码都改编于 MySQL 6.0

  • 区别三:
    通过全面测试发现,MariaDB的查询效率提升了3%-15%,平均提升了8%,而且没有任何异常发生;以qp为单位,吞吐量提升了2%-10%。由于缺少数据支持,现在还不能得出任何结论,但单从测试结果看来还是非常积极的。join中索引的使用以及查询优化,特别是子查询方面,MariaDB都有不少提升。此外,MariaDB对MySQL导入导出有良好支持。

MariaDB的安装

  • 首先,需要在虚拟机上配置实验环境。
    1.配置网络
    2.配置yum源
    3.修改主机名,方便我们查看其性质
    4.关闭图形,使用真机ssh连接,目的是为了更降低真机负载
    在这里插入图片描述
    在这里插入图片描述在这里插入图片描述在这里插入图片描述
  • 配置好实验环境之后,我们开始安装数据库软件MariaDB
yum search mariadb
yum install mariadb-server  -y
systemctl start mariadb

数据库安全初始化

  • 默认情况下,数据库的网络接口是打开的。为了安全需要关闭此接口。
netstat  -antlupe  | grep mysql  		##查看端口
vim /etc/my.cnf							##关闭网络接口
写入:
skip-networking=1 				##跳过网络端口开放,注意,需要写到[mysqld]下面,因为是针对mysql服务器的

systemctl restart mariadb		##重启服务


在这里插入图片描述
在这里插入图片描述

  • 数据起始状态设定信息是不安全的,不需要密码就能进入数据库,需要做以下设定:(需要用一个安全初始化脚本)
mysql_secure_installation			##安全初始化脚本

在这里插入图片描述在这里插入图片描述
在这里插入图片描述现在再次进入数据库就需要用户和密码了。

数据库管理

基础知识

数据库中,最大的单元是库DATABASES,每个数据库中有多个表TABLES,表由字段组成,一个字段就是一列,一行内容就是一条数据。

  • 注意:数据库中不分层次。
  • 数据库优化:大库变小库,大表变小表,大的字段变小的字段。否则,会导致查询速度变慢。

进入数据库

mysql -uroot -p
输入密码进入

查询

SHOW DATABASES;			##查看数据库
USE DATABASENAME;		##进入某个数据库
SHOW TABLES;					##查看表格
SELECT * FROM TABLE				##查看表的内容
SELECT Host FROM user WHERE User='root';		##查看user表中Host字段为root的数据内容
##WHERE设定查询条件,为某一行的内容,后面跟行

图
在这里插入图片描述在这里插入图片描述在这里插入图片描述

建立

  • 在建立表时,其字段名的类型not null,此字段不能为空;varchar可变长字符类型,不会被空格补全;char 定长字符类型,指定长度后会用空格补全
  • 注意:库一般不要改名,表可以改名。
SHOW DATABASES;		##列出库
CREATE DATABASE westos;	##建立库
USE westos;		##进入库
CREATE TABLE  linux (	##建立表
    -> username varchar(50) not null,
    -> password varchar(50) not null
    -> );
DESC linux;		##查看表结构
INSERT INTO linux VALUES ('lee','123');		##插入数据到linux表中
SELECT * FROM linux;				##查询所有字段在linux表中
SELECT username,password  from linux;		##查询指定字段在linux表中

在这里插入图片描述在这里插入图片描述在这里插入图片描述

更改

UPDATE linux SET password=password('lee') where username='lee';
##	密码更改时需要用加密字符方式更改
ALTER TABLE linux ADD class varchar(20);
ALTER TABLE linux DROP CLASS;
ALTER TABLE linux ADD age varchar(20) AFTER  password;
ALTER TABLE linux RENAME redhat;

在这里插入图片描述
在这里插入图片描述在这里插入图片描述在这里插入图片描述

备份与删除

  • 1.首先先要备份数据库为对应的库文件,使用mysqldump 命令
mysqldump -uroot -pwestos westos > /mnt/westos.sql(指定的库备份文件)
mysqldump -uroot -pwestos westos  --no-data	   		##只备份westos的表结构
mysqldump -uroot -pwestos --all-database			##备份全部数据库
mysqldump -uroot -pwestos --all-database  --no-data		##只备份表结构,不备份数据
  • 2.进入数据库,进行相关的删除操作,可以先插入行。(注意:插入行数据的时候要按照数据库的表结构进行)
INSERT INTO userlist VALUES('lee','12','20');

在这里插入图片描述

  • 3.然后删除数据,删除多个数据时,可以使用 or 进行隔开。
DELETE FROM uselist WHERE username='mac' or username= 'mac11';

在这里插入图片描述- 4.当多个数据某个字段一致时,可以添加多个字段进行精准匹配。

DELETE FROM uselist WHERE username='lee' AND age='20';

在这里插入图片描述- 5.删除表,删除数据库

DROP TABLE uselist;
DROP DATABASE westos;

恢复数据库

  • 方法1:
mysql -uroot -pwestos -e "CREATE DATABASE westos;"  		##创建数据库
mysql -uroot -pwestos westos < /mnt/westos.sql				##导入备份数据库文件

在这里插入图片描述- 方法2:

vim /mnt/westos.sql
写入:
CREATE DATABASE westos;
USE westos;
导入文件:
mysql -uroot -pwestos < /mnt/westos.sql

在这里插入图片描述

用户授权

  • 在数据库server端:
  • 1 查看mysql用户信息:SELECT Host,User FROM mysql.user;
  • 2 添加用户:
CREATE USER  lee@'localhost' identified by 'westos';
创建一个在本地回环接口的用户,和密码
CREATE USER  westos@'%' identified by 'westos';
%标示可以再任何主机登陆,也即是说可以通过其他主机登陆;

在这里插入图片描述

  • 3 开启网络端口:
vim /etc/my.cnf
把跳过网络打开
systemctl restart mariadb
重启服务

在这里插入图片描述

  • 4 关闭火墙

  • 在远程客户端:

  • 1 配置yum源,(记住版本信息要与系统信息一致)

  • 2 用yum provides */mysql
    在这里插入图片描述

  • 3 找到mysql客户端后,yum install 1:mariadb-5.5.52-1.el7.x86_64 -y

  • 4 用命令mysql -uwestos -pwestos -h172.25.254.202远程登陆数据库

  • 5 发现没有任何权限:即看不到数据库内容

  • 回到数据库server端,进行授权

  • 1 使用root身份进入数据库
    2 查看用户权限SHOW GRANTS FOR westos@'%';
    在这里插入图片描述
    3 添加权限:GRANT SELECT on westos.* TO westos@'%';
    4 回到客户端再次查看,发现有表
    在这里插入图片描述
    5 同样的方式添加其他权限

GRANT INSERT,DELETE on westos.* TO westos@'%';

6 去除权限:REVOKE INSERT ON westos.* FROM westos@'%';
在这里插入图片描述
7 最后可以删除用户:DROP USER westos@'%';
8 记得刷新:FLUSH PRIVILEGES; ##刷新数据库

更改数据库密码

知道数据库root密码情况下

  • 更改root用户密码:
mysqladmin -uroot -predhat password mac

注意:这种方式只能用来改root密码,普通用户的密码需要进入mysql,使用UPDATE更改。

在这里插入图片描述

  • 更改普通用户密码:
通过root用户进入到mysql,使用update更新普通用户密码
UPDATE mysql.user set Password=password('123456')  WHERE User='root';

忘记root密码的情况下:

不知道密码时,

  • 1> 关掉数据库
  • 2> 安全模式下 跳过授权表 & 后台允许
    在这里插入图片描述
  • 3> 进入mysql 更新用户密码:
    在这里插入图片描述在这里插入图片描述
  • 4 >查看并关闭mysql 所有进程;
    在这里插入图片描述
  • 5 >重启mysql服务,密码修改成功!

数据库图形管理工具

1 下载httpd,设置为开机启动,开启httpd,进入其共享目录/var/www/html
2 下载phpMyAdmin压缩包
3 解压于当前目录/var/www/html

tar -jxvf phpMyAdmin-3.4.0-all-languages.tar.bz2 

4 为了方便,修改目录名简短易读mv phpMyAdmin-3.4.0-all-languages mysqlAdmin
5 进入改目录,读readme
6 发现readme让你读Documentation.txt
在这里插入图片描述
7 Documentation.txt这个文件详细介绍了一些细节:比如版本,比如安装时需要注意的东西,例如加cookie标示等

		Now you must configure your installation. There are two methods that can be
	    used. Traditionally, users have hand-edited a copy of config.inc.php, but
	    now a wizard-style setup script is provided for those who prefer a
	    graphical installation. Creating a config.inc.php is still a quick way to
	    get started and needed for some advanced features.

	
		 You'll need a few directives to get going, a simple configuration may look like
        this:

        <?php
        $cfg['blowfish_secret'] = 'ba17c1ec07d65003';  // use here a value of your choice

        $i=0;
        $i++;
        $cfg['Servers'][$i]['auth_type']     = 'cookie';
        ?>

8 上面内容说了,需要复制一份文件,cp config.sample.inc.php config.inc.php

vim config.inc.php
在此文件中,添加cookie

在这里插入图片描述
9 安装php.x86_64,php-mysql.x86_64 ,安装完成后,可以使用php -m查看相关文件
10 重启httpd
11 访问网站,进行数据库图形化操作数据库。
在这里插入图片描述在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值