mariadb数据库的管理

1.什么是数据库?

数据库,简而言之可视为电子化的文件柜——存储电子文件的处所,用户可以对文件中的数据进行新增、截取、更新、删除等操作
所谓“数据库”是以一定方式储存在一起、能与多个用户共享、具有尽可能小的冗余度、与应用程序彼此独立的数据集合
数据对一个企业是非常重要的,其实就相当于我们每个人的信息就是自己的属性,并且把它记录在一个文件里面
多张表格组成一个数据库,tab (表)---->db (库)----->数据库软件
我们现在学对数据库的一些基本操作,其实就是一个高级的excel表格

2.什么是mariadb数据库?

MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可 ,MariaDB的目的是完全兼容MySQL
包括API和命令行,使之能轻松成为MySQL的代替品。在存储引擎方面,使用XtraDB(英语:XtraDB)来代替MySQL的InnoDB
MariaDB由MySQL的创始人Michael Widenius主导开发,他早前曾以10亿美元的价格,将自己创建的公司MySQL AB卖给了SUN
此后,随着SUN被甲骨文收购,MySQL的所有权也落入Oracle的手中,MariaDB名称来自Michael Widenius的女儿Maria的名字
MariaDB基于事务的Maria存储引擎,替换了MySQL的MyISAM存储引擎,它使用了Percona的 XtraDB,InnoDB的变体
分支的开发者希望提供访问即将到来的MySQL 5.4 InnoDB性能,这个版本还包括了 PrimeBase XT (PBXT) 和 FederatedX存储引擎
MySQL之父Widenius先生离开了Sun之后,觉得依靠Sun/Oracle来发展MySQL,实在很不靠谱
于是决定重新开发代码全部开源免费关系型数据库,这就是MariaDB
在navicat中操作mariaDB的界面和提示符还是mysql端口也是3306 外人看起来除了数据库名字改了其他和mysql完全一致
mariaDB在各方面都是mysql创新和提高版本 而不是简单的替代品
mysql和mariaDB开发团队一致,区别在于mysql已经被oracle闭源了而mariaDB是开源的 

3.搭建实验环境

(1)在真机里面重置及打开虚拟机。

(2)改主机名字。

  • hostnamectl set-hostname mysql.westos.com

(3)配置本地网络,ip设为静态ip,重启才能生效。

(4)配置本地yum源

4.安装mariadb数据库的服务软件

(1)寻找这个软件

(2)安装并开启mariadb服务

(3)输入mysql进行管理,按Ctrl+D退出

(4)安全初始化

数据库起始状态设定信息是不安全的,需要做以下设定
mysql_secure_installation数据库安全初始化脚本,给定root用户以及密码

尽心安全初始化

设置root密码

禁止匿名用户登录数据库

禁止远程登陆数据库

移走测试的数据库并进入数据库

重新加载表格

初始化完毕,此时不输入密码是进入不了数据库的

(5)数据库的登陆

mysql -uroot -predhat  这样直接裸露密码使数据库很不安全

mysql -uroot -p   可以利用刚才设置的密码进行登陆数据库,这样比较安全

(6)安全设置

默认情况下,数据库的网络接口是打开的,为了安全需要关闭此接口
netstat -antlupe | grep mysql (查看数据库的网络接口是否开启)

我们可以看到3306接口是开启的,我们为了安全需要将它关闭

写入skip-networking=1  表示3306接口关闭

重启服务

再次查看网络接口看3306接口是否还开启

我们可以发现3306接口已经关闭

此时我们用本地用户登陆就很安全了

5.数据库的管理

(1)数据库的查询

1.mysql -uroot -p 进入数据库
2.SHOW DATABASES;  查看都有哪些数据库
3.USE DATABASES;(刚刚查看出来的数据库其中的一个),进入指定的数据库
4.SHOW TABLE;查看该数据库中有哪些表格
5.SELECT * FROM TABLENAME;(查看该表格中所有的内容,可以选择自己想看的进行查看)
6.SELECT Host,User(列:字段条件)FROM user (表格名字) WHERE User=‘root‘(行条件);

注意:所有的查询都是以分号结尾的,如果输错了Ctrl+c 退出或者quit

(2)数据库的建立

1.mysql -uroot -p  先进入数据库;
2.SHOW DATABASES;  列出存在的库;
3.CREATE DATABASES westos(名字);  建立新的库;
4.Use westos;   进入新建立的这个库
5.CREATE TABLE linux (     在这个库里面建立表
        ->username varchar (50##字符长度)not mull,  用户登陆的时候名字和密码不能为空
        ->password varchar (50##字符长度)not mull
        ->);   以这个结尾
6.DESC linux;  查看新表的结构
7.INSERT INTO linux (表格名字) VALUES(‘lee','123');  插入的信息符号必须是英文字符
8.SELECT username,password FROM linux;  查询指定字段在linux表中

建立westos这个数据库

查询是否建立成功

进入westos这个数据库,在这个数据库中建立名叫linux的表格,注意建立表格时的格式,名字跟密码分开两行写的原因是出问题是方便排错

列出该表格的字段框架信息

在该表格里面插入一行数据

查看该表格里面的所有内容

指定查看username这一行

变长字符varchar(5)1 2 3 4 5个均可以  ##更方便
定长字符char(5)不够要打空格
(3)数据库的更改

数据库的名字不能随便改(涉及到数据库之间的关联查找)
数据库也是以目录下文件的形式存在的
在目录下,也可以直接改数据库的名字,可以成功,但是不安全
1.UPDATE linux SET password=password('lee') WHERE username='lee';  更改表格里面的信息
2.ALTER TABLE linux ADD class varchar(20);  在表格里面添加列
3.ALTER TABLE linux DROP CLASS;  在表格里删除这个列
4.ALTER TABLE linux ADD age varchar(20) AFTER password;  添加列的时候指定位置(不能在最前面,没有参照物的话会造成数据丢失)
5.ALTER TABLE linux RENAME redhat;  给数据库更改名字

将westos这个数据库里面的linux表的username是tian 的那一行的password改成tian 并加密

在linux表格里面添加age列

在linux表格里面删除age列

指定添加age列到useranme列后面

将表格名字linux改为linuz

(4)数据库的删除(数据库,表格,表格里的内容)

1.先备份再删除
2.DELETE FROM userlist WHERE username='lee';  删除userlist 这个表格里面名字是lee的这一行。
3.DELETE FROM userlist WHERE username='lee' or username='lee1';  删除两行
4.DELETE FROM userlist WHERE username='lee' AND age='12';  当遇到名字一样的时用age来区分
5.DROP TABLE linux;  删除表格
6.DROP DATABASE westos;  删除数据库

先进行备份

删除数据库westos

恢复数据库westos的时候,先建立这个库再把原来的数据导入

可以看到数据完全恢复

为数据库表linux 中加入几组数

删除username为haha的那一组

再次加入几行,使得有组有同样的username但是password不同

我们在实行删除操作时,要加上password用来区分

删除linux这个表

(5)用户授权(不能所有的都在本地root下面)

1.vim /etc/my.cnf
2.#skip-networking=1 (开启网络接口3306)
3.systemctl restart mariadb  重启数据库
4.netstat -antlupe | grep mysql (查看数据库的网络接口是否已经开启)
5.关闭火墙

1.mysql -uroot -p 先以root身份登陆数据库
2.SELECT Host,User FROM mysql.user;  查看有哪些用户可以登陆数据库

1.CTEARE USER tian@'localhost' identified by 'tian';  新建一个用户tian 只允许在本地主机登陆数据库
2.新建之后可以立即查看
3.mysql -utian -p  密码为tian
4.SHOW DATABASES; 可以登陆,但是没有权利

再次用root用户登陆,然后分配权限

GRANT SELECT,INSERT on mysql.* TO tian@localhost;   对tian授权mysql这个库里面所有的表格内容

SHOW GRANTS FOR westos@localhost;    看tian这个本地用户的权力

再次用tian用户登陆mysql

使用SHOW DATABASES时候已经可以看到myql这个库,使用USE mysql时候,已经可以进去mysql这个库,并且使用SHOW TABLES也可以看到mysql这个库里的表.

再次切换root用户登陆mysql

REVOKE SELECT,INSERT ON mysql.*  FROM tian@localhost; 回收SELECT和INSERT权力对于本地tian用户。

 

SHOW GRANTS FOR tian@localhost;

再次用tian用户登陆数据库,SHOW DATABASES就看不到什么了

登陆root用户删除tian用户

 

(6)数据库的备份

1.mysqldump -uroot -predhat westos > /mnt/westos.sql  (完全备份westos这个库)
2.mysqldump -uroot -predhat westos --no-data (备份westos这个库的表格形式,不要数据)
3.mysqldump -uroot -predhat --all-database (完全备份所有库)
4.mysqldump -uroot -predhat --all-database --no-data (备份所有的库不要数据)

 

恢复方法1:

1.mysql -uroot -predhat -e "CREATE DATABASE westos";  先创建westos这个库
2.mysql -uroot -pwestos westos < /mnt/westso.sql;  再将刚才备份的数据库还原回去

先把原有数据移到其他地方

先把westos这个数据库删除

恢复数据库的过程是先建立一个新的,再把原来的数据导回来

可以看到数据完全恢复了

恢复方式2

1.vim /mnt/westso.sql  直接在备份的数据库的文件里面写要恢复的库的信息
2.写入这两行内容:
  CREATE DATABASE westos;
  USE westos;
3.mysql -uroot -predhat < /mnt/westos.sql 直接还原数据库数据

先备份

删除数据库westos

编辑vim /mnt/westos.sql  在文件中加入两行分别是  CREATE DATABASE westos;    USE westos;

把数据还原回去

打开数据库

发现数据库WESTOS的所有数据都已恢复

6.数据库的密码管理问题

(1)知道数据库密码时可直接修改

mysqladmin -uroot -predhat password westos

(2)当超级用户密码忘记时

  • systemctl stop mariadb  关闭数据库服务
  • mysqld_safe --skip-grant-tables &     将安全检测进程打入后台
  • mysql 登陆数据库
  • update mysql.user set Password=Password('redhat'') where User='root';    改数据库的密码

查看被打入后台的进程

查看全部进程并杀死进程。否则下次登陆时,免密登陆

我们可以看到用密码可以登陆,无密码则不行

7.安装phpadmin数据库图形管理

yum install -y httpd
firewall-cmd --list-all
firewall-cmd --permanent --add-service=http
firewall-cmd --reload
tar zxf phpMyadmin-4.0-10.20-all-languages.tar.gz -C /var/www/html/
mv phpMyadmin-4.0-10.20-all-languages phpMyadmin
yum install -y php
systemctl restart httpd
yum install -y php-mysql
yum install -y php-mbstring-5.4.16-21.el.x86_64.rpm
systemct restart httpd
通过浏览器访问: http://172.25.254.115/phpMyadmin

从真机发送安装包给虚拟机

安装httpd

启动httpd服务,并且设置开机生效
 

给firewall中加入http服务

安装php服务

安装php-mysql以及php-mbstring-5.4.16-21.el.x86_64.rpm

==重启httpd服务

在浏览器中浏览 http://172.25.254.115/phpMyadmin ,发现可以使用图形化管理数据库

选择语言用root用户密码登陆即可

建立yty111数据库

在yty111数据库中建立westos表

插入值。

然后利用命令查看数据库,看用图形的方式建立的数据在不在

要确定唯一的值才可以更改表中的数据,我设置了username为唯一

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值