运行环境:Vmware centos7

一、MariaDB简介

MariaDB数据库管理系统是MySQL的一个分支,MariaDB默认的存储引擎是Maria,不是MyLSAM,Maria可以支持事务,但是默认情况下没有打开对事务的支持,因为事务支持会对性能有一定的映像,可以通过下列语句来转换为支持事务的Maria引擎

ALTER TABLE  'tablename' ENGINE=MARIA TRANSACTIONAL=1;

MariaDB与Mysql相比较,MariaDB更强的地方在于:

  • Maria 存储引擎

  • PBXT 存储引擎

  • XtraDB 存储引擎

  • FederatedX 存储引擎

  • 更快的复制查询处理

  • 更少的警告和bug

  • 运行速度更快

  • 更好的功能测试

  • 数据表消除

  • 支持对Unicode的排序


二、安装MariaDB

注:当前使用的为root用户

1、检查系统是否有关于mysql数据库的文件,有的话可以执行该命令

rpm -e mysql-server
rpm -e mysql

2、使用yum安装MariaDB,在centos7中光盘已经自带了MariaDB的安装包

yum -y install mariadb mariadb-server

3、启动MariaDB,并设置开机自启动

systemctl start mariadb
ss -ntl (MariaDB的监听端口号为3306)

systemctl enable Mariadb(设置开机自启动)

三、配置Mariadb

1、为mariadb设置密码登陆

mysql_secure_installation

2、配置完成后,测试登陆

mysql -uroot -pcentos

3、配置MariaDB的字符集

vim /etc/my.cnf

vim /etc/my.cnf.d/mysql-clients.cnf

vim /etc/my.cnf.d/client.cnf

可以通过mysql -uroot -pcentos进入MariaDB,查看字符集可以通过以下命令:

show variables like "%character%";
show variables like "%collation%";

4、简单使用MariaDB

(1)建立用户并给与所有操作权限

CREATE USER 'chen'@'localhost' IDENTIFIED BY 'centos1';

测试:(成功登陆)

(2)给用户赋予权限

GRANT SELECT ON test.lesson TO 'chen'@'localhost'

权限修改完之后需要执行命令FLUSH PRIVILEGES 命令刷新配置权限使其生效

(3)在数据库中创建所需要的表

create table youxi (id tinyint unsigned, youximing char(20) not null, shizhi int unsigned, redu char(10 )default 'up');

desc youxi(表名)查看对表的详细描述

(4)往youxi表中添加内容,删除内容

insert into youxi values (1,'wangzherongyao','6666666666',default);

一次性添加多行

insert into youxi (id,youximing,shizhi,redu) values (2,'yingxionglianmeng',88888888,default),
(3,'dixiachengyuyongshi',33333333,default),(4,'longzhigu',22222222,default);

delete from youxi where id=4;(如果不加条件语句,结果就是该表内容全部删除)

(5)给表添加记录修改记录

alter table youxi add fuzeren char(20)after shizhi

update youxi set fuzeren='shyboy';

(6)表与表的连接

1、显示学生的名字与班级名

首先查看students表中的内容,其中只有班级的ID,并没有课程名

select * from students;

然后我们查看关于关于班级的表classes,我们发现表classes中有和students表相同的属性classid

select * from classes;

我们可以做一个内连接(innner join)

select s.name student_name,c.class class from students s inner join classes c on s.classid=c.classid;

2、三表连接,显示学生名和所学的课程名

从上面我们可以得知students表中有一行classid,查看一下coc中也有属性列classid

select * from coc;

继续查看有关课程的表courses;与此同时发现coc表中有与courses表中相同的属性列courseid;

所以我们可以进行三表连接来表示出所需要的信息

select s.name as student_name, co.course as course from students s join coc c on s.classid=c.classid join courses co on c.courseid=co.courseid;

3、更多表的连接

在2介绍了三张表的连接,我们在其上的基础上在连接一张表

显示每位同学的姓名、课程及成绩

首先查看关于成绩的表scores,我们发现scores表中stuid与students表相同,courseid与courses表中的相同;

select * from scores;

select s.name student_name,co.course course,sc.score score from students s join coc c on s.classid=c.classid join courses co on c.courseid=co.courseid join scores sc on s.stuid=sc.stuid and co.courseid=sc.courseid;

转载于:https://blog.51cto.com/13866901/2177779

linux安配置及简单使用Mariadb相关推荐

  1. Linux安装包-run制作

    linux安装包制作简单总结: 1.压缩文件:解压后直接可以使用     tar,zip,gz等 2.包管理工具     ubunut:deb,redhat:rpm 3二进制包:脚本+程序     b ...

  2. linux系统数据库服务器配置,Linux安装配置MariaDB数据库全程详解

    MariaDB是采用Maria存储引擎的MySQL分支版本,在很多方面强于MySQL,那么在Linux下如何安装MariaDB数据库呢?下面小编就给大家介绍下Linux安装配置MariaDB数据库的方 ...

  3. linux下配置squid 服务器,最简单使用方式

    linux下配置squid 1.什么是squid Squid cache(简称为Squid)是一个流行的自由软件(GNU通用公共许可证)的代理服务器和Web缓存服务器.Squid有广泛的用途,从作为网 ...

  4. arch linux网络配置,关于archlinux网络的 配置

    lrtlmn 于 2013-04-03 11:55:23发表: 谢谢分享! hjy88168 于 2012-03-12 17:17:23发表: 我这里是移动的校园网,要打开一个网页登陆,然后输入手机号 ...

  5. 关于我在学习Javaweb时对Linux服务器安装配置jdk,tomcat,mysql的一些学习心得

    学习javaweb有一段时间了,最近刚好完成一个小的web项目. 勿喷!!!!!!!! 主要参考问题: 1.jdk,tomcat,mysql的安装配置. 2.tomcat,mysql的开机自启(我不会 ...

  6. Linux下配置tomcat+apr+native应对高并发

    一.三种运行模式介绍 Tomcat 有三种(bio,nio.apr) 运行模式,首先来简单介绍下 bio  bio(blocking I/O),顾名思义,即阻塞式I/O操作,表示Tomcat使用的是传 ...

  7. 使用VMware创建linux censo7系统--超简单的图文安装

    使用VMware创建linux censo7系统 一.准备工作 二.安装linux centos7系统 三.linux网络配置(重点) 1.查看VMware的网关配置 2.在window上设置VMne ...

  8. Apollo架构体系、Apollo运行原理、Apollo配置中心简单介绍(一)

    笔者在工作中遇到如下问题,随着程序功能越多,配置文件不断增加,一些功能的开关.服务器地址.接口地址.不同环境的一些配置文件不同,这些在每次发布不同环境.更新项目时都比较繁琐,后来学习微服务时接触到了S ...

  9. linux学习笔记,简单的粗暴使用教学

    :我们这个课程基于CentOS 7 版本的学习 学习方式: 1.认识linux 2.基本的命令(重点:git讲了一些基本的命令(文件操作.目录管理.文件属性.vim编辑器.账号管理.磁盘管理-)) 3 ...

最新文章

  1. 用axis开发webservice实践
  2. js便利json 数组的方法
  3. 网易云音乐音视频算法的 Serverless 探索之路
  4. xcode4 语法高亮和自动补全失效的解决办法
  5. 什么是Starter
  6. 在原生js中的事件监听方法
  7. distenct oracle_Oracle的distinct关键字
  8. Vue源码中compiler部分逻辑梳理(内有彩蛋)
  9. SpringBoot之使用(一)
  10. 报表开发之自定义函数
  11. ccs10怎么导入工程文件_Webpack 前端工程化动态导入文件
  12. android system image,android systemimage默認大小以及如何修改
  13. win10虚拟机下安装ubuntu16.04详细教程(含锐捷联网教程)
  14. unity android录制视频教程,Unity3d 录屏功能教程指南 | Cross Platform Replay Kit
  15. zoomit64_终极缩放工具? Sysinternal的ZoomIt
  16. java实现图片文件上传下载_java实现文件的上传和下载
  17. Android实现图片滚动控件,含页签功能,让你的应用像淘宝一样炫起来
  18. 司马相如和卓文君——野史+臆想
  19. 用canvas画布画时钟
  20. 解决pip install ninjia 后,依旧报错的问题

热门文章

  1. Python Seaborn教程
  2. Java关闭挂钩– Runtime.addShutdownHook()
  3. 什么情况下你的工作最为成功_在不倦怠的情况下开始成功学习
  4. 进程调度(一)--linux内核设计与实现读书笔记
  5. protobuf序列化使用说明
  6. 闭包函数 use 改变外部变量
  7. 微信公众平台小程序(应用号)开始内测了
  8. C#使用IHttpModule接口修改http输出的方法浅谈
  9. python核心编程-第六章-个人笔记(二)
  10. 关于马克飞象中的Latex语法与CSDN中的区别