基础篇:MySQL系列之三
一、MySQL简介
MySQL原本是一个开放源代码的关系数据库管理系统,原开发者为瑞典的MySQL AB公司,该公司于2008年被Sun公司收购。2009年,Oracle收购sun公司,MySQL成为Oracle旗下产品。
但被甲骨文公司收购后,Oracle大幅调涨MySQL商业版的售价,且甲骨文公司不再支持另一个自由软件项目OpenSolaris的发展,因此导致自由软件社区们对于Oracle是否还会持续支持MySQL社区版(MySQL之中唯一的免费版本)有所隐忧,MySQL的创始人麦克尔·维德纽斯以MySQL为基础,成立分支计划MariaDB。而原先一些使用MySQL的开源软件逐渐转向MariaDB或其它的数据库。
二、MySQL的发展历史
作者:Monty 麦克尔·维德纽斯
- 1996年:发布MySQL1.0,开始是Solaris版本,后来又发布了Linux版本
- 1999年:Monty 在瑞典成立了 MySQL AB 公司
- 2003年:MySQL 5.0版本发布,增加了视图、存储过程等功能
- 2008年:被 sun公司 收购
- 2009年:Oracle 收购 sun
- 2009年:Monty 成立 MariaDB
版本的演变:
MySQL:5.1 --> 5.5 --> 5.6 --> 5.7
MariaDB:5.5 -->10.0--> 10.1 --> 10.2 --> 10.3
三、MariaDB的基本使用
MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品。在存储引擎方面,10.0.9版起使用XtraDB(名称代号为Aria)来代替MySQL的InnoDB。
由MySQL的创始人麦克尔·维德纽斯主导开发,他早前曾以10亿美元的价格,将自己创建的公司MySQL AB卖给了SUN,此后,随着SUN被甲骨文收购,MySQL的所有权也落入Oracle的手中。MariaDB名称来自麦克尔·维德纽斯的女儿玛丽亚(英语:Maria)的名字。
插件式存储引擎:也称为“表类型”,存储管理器有多种实现版本,功能和特性可能均略有差别;用户可根据需要灵活选择,Mysql5.5.5开始innoDB引擎是MYSQL默认引擎。MyISAM ==> Aria ,InnoDB ==> XtraDB
1、基本安装与配置
安装:yum install mariadb-server
主配置文件:从上到下检查,如果有重复的配置参数则在后边的配置文件中的参数生效,覆盖检索
/etc/my.cnf
/etc/mysql/my.cnf
/etc/sysconfig/my.cnf
/usr/local/etc/my.cnf
~/.my.cnf
查看默认配置:/usr/libexec/mysqld --print-defaults
默认数据库库文件存放目录:/var/lib/mysql/
套接字文件:/var/lib/mysql/mysql.sock
PID文件:/var/run/mariadb/mariadb.pid
日志文件:/var/log/mariadb/mariadb.log
启动服务:# systemctl start mariadb.service
2、客户端命令:mysql
选项:
-u root 指定用户
-p password 指定密码
-h host 指定连接主机
-A 禁止补全
-P port 指定端口,默认3306
-S socket文件路径 默认:/var/lib/mysql/mysql.sock
-D databasename 指定默认数据库
-C 启用压缩
-e SQL_CMD 执行后退出
-V 查看版本
--print-defaults 查看默认设置
- 批处理模式
mysql < /path/somefile.sql
将sql脚本导入数据库执行
- 交互式模式
客户端命令
- \d|delimiter 设置语句结束符
- \c|clear 提前结束语句
- \r|connect 重新连接数据库
- \g 直接将语句送服务器执行
- \G 直接将语句送服务器执行;结果纵向显示
- .|source 读入脚本文件创建数据库
- ! COMMAND 执行shell命令
- \W 语句执行结束后显示警告信息
- \w 语句执行结束后不显示警告信息
- \s 获取当前系统状态
- use database_name 指定操作的数据库
- prompt \u@[\D] \r:\m:\s-> 修改提示符,如果需要永久修改则在my.cnf中 [mysql] 下加入
prompt="(\u@\h) [\d]>
- \q 退出
服务器命令:需要在命令后加命令结束符,默认结束符为分号";"
- help KEYWORD 获取服务器命令的帮助
- select version(); 查看数据库版本
- show variables; 显示数据库当前工作的环境变量
3、其他客户端工具
- mysqldump:备份工具,基于mysql协议向mysqld发起查询请求,并将查得的所有数据转换成insert等写操作语句保存文本文件中
- mysqladmin:基于mysql协议管理mysqld
- mysqlimport:数据导入工具
- myisamchk:检查MyISAM库
- myisampack:打包MyISAM表
- mysqld_safe:服务二进制程序
- mysqld_multi:创建多实例工具
4、安全加强脚本 mysql_secure_installation
这个脚本可以帮助我们做一下基本的安全加强
[root@centos7 mysql]# mysql_secure_installation
Enter current password for root (enter for none): #空密码直接回车
Set root password? [Y/n] Y #设置root密码
New password: ******
Re-enter new password: ******
Remove anonymous users? [Y/n] Y #删除匿名账户
Disallow root login remotely? [Y/n] n #禁用远程连接
Remove test database and access to it? [Y/n] Y #删除test库
Reload privilege tables now? [Y/n] Y #重读授权表使其配置生效
[root@centos7 mysql]# mysql -uroot -p'your_password' #连接数据库命令
@_@ 2018.06.05 11:38
基础篇:MySQL系列之三的更多相关文章
- JavaSE基础篇—MySQL基础知识点
MySQL MySQL是一种关系数据库管理系统,是一种开源软件.可搭配PHP和Apache可以有更好的性能,也可以工作在众多的平台上.Orcale是一个数据库创建多个用户,MySQL是一个用户创建多个 ...
- 重新整理 mysql 基础篇————— mysql 事务[三]
前言 简单整理一下事务. 正文 事务有四大特性: 1.原子性(atomicity) 一个事务必须被视为一个不可分割的最小单元. 2.一致性(consistency) 数据库总是从一个一致性的状态转换到 ...
- mysql基础篇-----mysql简介
2017-04-19 一.mysql简介 MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品.MySQL 是最流行的关系型数据库管理系统之一,在 ...
- MySQL系列之三查询优化
通常来说,查询的生命周期大致可以按照顺序来看从客户端到服务端,然后在服务器上进行解析,生产执行计划, 执行,并返回结果给客户端.其中的执行阶段可以认为是整个生命周期中最重要的阶段,其中包括了大量为了检 ...
- [MySQL实战-Mysql基础篇]-mysql架构
1.基本组成 下面是mysql的基本架构示意图 图一 图二 我们可以从图上看出,mysql大体分为两个部分,一个是server层,另一个是引擎层. server层中包含了连接器.查询缓存.分析器.优 ...
- [MySQL实战-Mysql基础篇]-mysql的日志
参考文章: https://www.cnblogs.com/f-ck-need-u/archive/2018/05/08/9010872.html https://dev.mysql.com/doc/ ...
- JavaSE基础篇—MySQL三大范式—数据库设计规范
1.概 念 范式是一种符合设计要求的总结,要想设计一个结构合理的关系型数据库,必须满足一定的范式.各个范式是以此嵌套包含的,范式越高,设计等级越高,在现实设计中也越难实现,一般数据库只要打 ...
- delphi基础篇之数据类型之三:3.结构类型(Struct)
3.结构类型(Struct) 结构类型在内存中存储一组相关的数据项,而不是像简单数据类型那样单一的数值.结构数据类型包括:集合类型.数组类型.记录类型.文件类型.类类型.类引用类型和接口类型等.
- 【转】WF4.0 (基础篇)
转自:http://www.cnblogs.com/foundation/category/215023.html 作者:WXWinter —— 兰竹菊梅★春夏秋冬☆ —— wxwinter@16 ...
随机推荐
- Linux-shell 练习题(一)
1.实现批量添加20个用户,用户名为user1-20,密码为user+123 #!/bin/bash count=$ if [ -n "$count" ] then ;i<= ...
- 前向纠错码(FEC)的RTP荷载格式
http://www.rosoo.net/a/201110/15146.html 本文档规定了一般性的前向纠错的媒体数据流的RTP打包格式.这种格式针对基于异或操作的FEC算法进行了特殊设计,它允许终 ...
- ubuntu 上采用nginx做rtmp 直播 服务器
首先安装必要的依赖库 sudo apt-get install autoconf automake sudo apt-get install libpcre3 libpcre3-dev 安装 ...
- 20179203 《Linux内核原理与分析》第十周作业
第17章 设备与模块 一.设备类型 1. Linux及Unix系统: 块设备 字符设备 网络设备 2.块设备: 通常缩写为blkdev,它是可寻址的,寻址以块为单位,块大小随设备不同而不同:块设备通常 ...
- YARN指令
如果是使用了Cloudera来安装到此路径下: /opt/cloudera/parcels/CDH-5.10.2-1.cdh5.10.2.p0.5/bin 执行: sudo ./yarn applic ...
- 1. Two Sum[LeetCode 简单 by 大志]
1. 二数之和 题目 English Given an array of integers, return indices of the two numbers such that they add ...
- HDOJ5044(最近公共祖先)
#include<cstdio> #include<cstring> using namespace std; ; struct Edge{ int v,id,next; }e ...
- 加载某个页面(A)时实现自动跳转到某个页面(B)
<head> <title></title> <script type="text/javascript"> function fu ...
- linux命令-bzip2压缩
gzip和bzip2 都是压缩命令 区别是压缩算法不一样 一般bzip2压缩的效率高 都不能压缩目录 bzip2 压缩 [root@wangshaojun ~]# bzip2 install.l ...
- 核PCA与PCA的精髓和核函数的映射实质
1.PCA简介 遭遇维度危机的时候,进行特征选择有两种方法,即特征选择和特征抽取.特征选择即经过某种法则直接扔掉某些特征,特征抽取即利用映射的方法,将高维度的样本映射至低维度.PCA(或者K-L变换) ...