基础篇: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 ...
随机推荐
- A唐纳德先生和假骰子(华师网络赛)
Time limit per test: 1.0 seconds Memory limit: 256 megabytes 在进行某些桌游,例如 UNO 或者麻将的时候,常常会需要随机决定从谁开始.骰子 ...
- 2017-2018-1 20179215《Linux内核原理与分析》第七周作业
一.实验部分:分析Linux内核创建一个新进程的过程. [第一部分] 根据要求完成第一部分,步骤如下: 1. 首先进入虚拟机,打开终端,这命令行依次敲入以下命令: cd LinuxKernel ...
- cmd cvf war包
1.进入要打包的目录下 --> cmd d: cd \路径 jar -cvf 包名.war * 2.解压 进入需要解压的目录 cd /depa123/webapps/css jar -xvf / ...
- python中http的一些编码转换
http的数据需要2种编码解码. 1. url中的特殊字符转换, 比如",', :,//等 python3中通过urllib.parse.quote(..)和urllib.parse.unq ...
- TFS自定义开发中的反射应用
最近CM(Configuration Management) 的同事在自定义开发TFS的过程中遇到一个问题. 领导要求快速开发一个工具, 可以自动连接TFS,然后自动Check out一些word文件 ...
- ES6学习之Iterator和For...of循环
一.Iterator(它是一种接口,为各种不同的数据结构提供统一的访问机制.Iterator 接口主要供for...of消费) 默认Iterator接口(默认的 Iterator 接口部署在数据结构的 ...
- 学习Web前端的好网站推荐
说明:将其他技术技术网址也搜藏到下面,与君共同进步 1.Jquery专题 http://kb.cnblogs.com/zt/jquery/ 2.Entity Framwork专题 http://kb. ...
- HTTP ERROR
HTTP 400 – 请求无效HTTP 401.1 – 未授权:登录失败HTTP 401.2 – 未授权:服务器配置问题导致登录失败HTTP 401.3 – ACL 禁止访问资源HTTP 401.4 ...
- java多线程无锁和工具类
1 无锁 (1) cas (compare and swap) 设置值的时候,会比较当前值和当时拿到的值是否相同,如果相同则设值,不同则拿新值重复过程:注意,在设置值的时候,取值+比较+设值 是一条c ...
- RN控件之TextInput
/** * Sample React Native App * https://github.com/facebook/react-native */ 'use strict'; import Rea ...