Linux之mariadb

1.mysql的背景
       MySQL是一个关系型数据库管理系统MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件。关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。MySQL所使用的 SQL 语言是用于访问数据库的最常用标准化语言。MySQL 软件采用了双授权政策,分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择 MySQL 作为网站数据库。搭配 PHP 和 Apache可组成良好的开发环境。
2.mysql的安装
yum install  mariadb-server.x86_64   -y    ##安装

systemctl start mariadb      ##启动

netstat -antlpue | grep mysql       ##过滤,网络接口

/etc/my.cnf                                    ##主配置文件
vim /etc/my.cnf

skip-networking=1                     ##跳过网络接口

systemctl restart mariadb         ##重启
用netstat -antlpue | grep mysql查看     ##网络接口成功跳过


3.mysql的基本使用 
(1)密码设置
mysql_secure_installation     ##第一次安装mysql以后通过这条命令可以对mysql进行设置
(2)登陆
mysql -uroot -predhat            ##从本机登录mysql数据库,密码跟在后面不安全
mysql -uroot -p                      ##这种登陆方式比较安全

(3)查看
show databases;                   ##显示数据库

use mysql;                ##进入数据库

show tables;                ##显示数据库中的表

desc user;                ##查看mysql.user表的数据结构

select host,user,password from user;    ##查询user表中的host,user,password字段

create database westos;            ##创建westos数据库

use westos;                     ##进入westos数据库  
(4)创建表      
create table linux(            ##创建表,username,password字段
username varchar(15) not null,
password varchar(15) not null
 );

desc linux;

select * from mysql.user    ##查询mysql库下的user表中的所有
(5)更改
alter table linux rename redhat;      ##linux表重命名为表redhat;

alter table redhat add class varchar(6);     ##添加age字段到linux表中

ALTER TABLE redhat DROP age            ##删除age字段

ALTER TABLE redhat ADD age  varchar(6)  AFTER name ##在name字段后添name字段 

show tables;
(6)插入
在westos数据库的redhat表中插入数据
insert into redhat values ('user1','passwd1');    ##在linux表中插入值为username,password

(7)更新
update redhat set password=password('passwd2') where username=user1;    ##更新linux表中user1 的密码为password2

delete from  redhat where username='user1';    ##删除linux表中user1的所有内容

(8)授权
CREATE USER user@'localhost'identified by 'passwd';  ##授权user 密码为passwd

grant select on  *.* to user@localhost;                ##只能在本地 查询数据库的所有内容
show grants for user@localhost;                         ##查看权限

当切换到gao@localhost,删除数据库时没有权限

在root用户下授权,成功删除数据库

revoke select on westos.* from lee@localhost;     ##取消lee下的westos数据库的查看功能

show grants for gao@localhost;                         ##查看权限,gao@localhost的删除权限被取消

(9)备份
redhat中的数据库

mysqldump -uroot -predhat westos > /mnt/mysql.sql     ##备份westos数据库到mysql.sql


为了证明数据的却成功备份了,现在删除mariadn中的redhat数据库

mysql     -uroot -predhat -e "create database redhat"    ##-e:执行命令创建redhat库
mysql     -uroot -predhat redhat < /mnt/mysql.sql          ##恢复mysql.sql 到redhat

查看redhat数据库,数据是否成功备份(结果显示备份成功,也成功恢复数据)

也可以采用直接在备份中修改,也能成功恢复数据
vim /mnt/mysql.sql                  ##直接在备份里修改也可以
:
create database westos;
use westos;

mysql -uroot -p123 <  /mnt/mysql.sql      ##备份文件中已经创建了数据库,并使用,所以不用在指定数据库,直接导入即可
 
4.root用户的密码恢复
systemctl stop mariadb                    ##停止maria服务
mysqld_safe --skip-grant-tables &   ##跳过grant-tables授权表  
mysql                                          ##进入数据库时发现不用输密码,不用认证
update mysql.user set Password=password('123') where User='root';  ##修改密码为'123'

ps aux | grep mysql                 ##显示mysql进程

kill -9 mysql进程的id                 ##结束mysql进程
systemctl     restart  mariadb            ##开启服务
当采用mysql进入时,发现不能进入,密码输入正确方可进入数据库

5.数据库的图形phpmyadmin开启
yum install php                           ##下载php
yum install php-mysql                ##下载php的mysql插件
tar jxf phpmyadmin-*.tar.bz2      ##把phpmyadmin-*.tar.bz2解压到/var/www/html
mv phpmyadmin mysqladmin1                   ##为了方便重新命名
cp config.sample.inc.php config.inc.php    ##切换到mysqladmin1目录下执行

测试:IP/mysqladmin1/index.php    ##IP是mariadb所在主机,要把mariadb在主机开启

之前在文本模式下建立的redhat数据库也显示在图形界面中,两者是同步的,linux表中的数据也完美呈现。

图形管理界面搭配PHP和Apache使用,方便管理,查询大量的数据
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值