MySQL系列-第一章节:MySQL介绍与安装
1、数据库介绍
1.1.什么是数据库`<Database>`
简单说存放数据的仓库,这个仓库按照一定的数据结构<数据结构是指数据的组织形式或数据之间的联系>来组织、存储的,我们可以通过数据库提供的多种方法来管理数据库里的数据我们简单形象的理解,比如我们人类这个大社会,我们的身份证,户口簿等等都和数据库有关
1.2.产生发展
数据库产生于60多年前,随着信息技术和市场的发展,特别是二十世纪九十年代以后,数据管理不再仅仅是存储和管理数据,而转变成用户所需要的各种数据管理的方式。数据库有很多种类型,从最简单的存储有各种数据的表格到能够进行海量数据存储的大型数据库系统都在各个方面得到了广泛的应用
2、MYSQL介绍与安装
2.1.为什么选择MYSQL
- mysql性能卓越,服务稳定,很少出现异常宕机
- mysql开源免费,无版权制约,自主性及使用成本低
- 产品耦合度,mysql支持多种操作系统,支持多开发语言,特别是php
- 技术积累,庞大的活跃的社区,
- 软件体积小,安装简单,易于维护
3、MYSQL数据库分类
MySQL官网http://www.mysql.com/,MySQL版本采用双授权政策,和大多数开源产品路线一样,分为社区版和商业版,并且这两个版本又分别分成四个版本依次发布,Alpha版、Beta版、RC版和GA版、GA版即为正式版
3.1.社区版和企业版的区别
- 首先价格上,社区版完全免费,企业版需要高额的费用
- 技术上,企业版具有MySQL企业级服务器、MySQL企业级系统监控工具。企业版经过严格的测试认证,相对企业版,社区版的开发测试环境没有那么严格
- 服务方面,社区版mysql官方不提供任何技术支持,使用过程出现任何意外不负任何责任,企业版与之相反
- 商业版不支持GPL协议
- 选择稳定版 选择社区的GA版
- 产品线,主要是5.1和5.5 ,多数5.5
- 选择MySQL GA版发布6个月以上的版本
- 最好向后较长时间没有更新发布的版本
- 与开发人员使用版本的兼容
- 测试环境跑3-6个月
- 到生产环境非核心业务跑几个月
4、MYSQL安装
4.1、生产环境怎么选择MYSQL版本
- 选择稳定版 选择社区的GA版
- 产品线,主要是5.1和5.5 ,多数5.5
- 选择MySQL GA版发布6个月以上的版本
- 最好向后较长时间没有更新发布的版本
- 与开发人员使用版本的兼容
- 测试环境跑3-6个月
- 到生产环境非核心业务跑几个月
4.2、MYSQL安装方法
- 使用二进制方式安装,rpm/yum
- 源码编译,产品线路1用普通编译安装,线路2用cmake编译安装5.5/6/7
4.3、yum安装mysql 5.6.39
1.清理CentOS7下的MariaDB。
[root@MySql- ~]# rpm -qa | gremp mariadb [root@MySql- ~]# rpm -e --nodeps mariadb.x86_64 :-.el7_0
2.下载MySQL的yum包
Linux系统自带的repo是不会自动更新每个软件的最新版本(基本都是比较靠后的稳定版),所以无法通过yum方式安装MySQL的高级版本。所以我们需要先安装带有当前可用的mysql5系列社区版资源的rpm包(确保电脑联网)。
[root@MySql- ~]# wget http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm [root@MySql- ~]# rpm -ivh mysql-community-release-el7-.noarch.rpm [root@MySql- ~]# yum install mysql-community-server
4.4、MySQL安装完成后,进行相关配置
安装成功后,将其加入开机启动并启动
[root@MySql- ~]# systemctl enable mysqld [root@MySql- ~]# systemctl start mysqld [root@MySql- ~]# ss -tnl | LISTEN ::: :::*
配置mysql(设置密码等)
[root@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: Password updated successfully! Reloading privilege tables.. ... Success! Remove anonymous users? [Y/n] y # [删除匿名用户] Disallow root login remotely? [Y/n] y #[禁止root远程登录] Remove test database and access to it? [Y/n] y # [删除test数据库] Reload privilege tables now? [Y/n] y # [刷新权限] All done! If you've completed all of the above steps, your MySQL installation should now be secure. Thanks for using MySQL! Cleaning up...
5、MySQL客户端选项
**实例**
-u,--user # 指定连接用户
-h,--host # 指定连接主机
-p,--password # 指定连接密码
--protocol={tcp|socket|memory|pipe} # 指定连接协议
-P,--port # 指定连接端口,默认监听端口:tcp/
--socket # 指定本地连接的sock文件
--compress # 数据传输采用压缩格式
-D,--database # 指定连接后默认使用的数据库
-H,--html # 指定产生html输出
-X,--xml # 指定产生xml输出
--safe-updates # 拒绝使用无where子句的update或delete命令
# 使用实例:mysql -hlocalhost -uroot -p
6、MySQL管理工具mysqladmin
# 使用格式:mysqladmin [options] command [arg] [,command [arg]] … # 常用的command包括: create DB_Name: # 创建数据库 drop DB_Name: # 删除数据库 debug: # 打开调试日志并记录于error log中 status: # 显示简要状态信息 --sleep #:设置间隔时长 --count #:设置显示的批次 extended-status: # 显示扩展信息,输出mysqld的各状态变量及赋值,相当于执行“mysql> show global status” variables: # 输出mysqld的各服务器变量 flush-hosts: # 清空主机相关的缓存:DNS解析缓存;此前因为连接错误次数过多而被拒绝访问mysqld的主机列表 flush-logs: # 日志滚动,只能滚动二进制日志和中继日志 refresh: # 相当于同时使用flush-hosts和flush-logs flush-privileges: # 通知mysqld重读授权表 reload: # 功能同“flush-privileges” flush-status: # 重置状态变量的值 flush-tables: # 关闭当前打开的表文件句柄 flush-threads: # 清空线程缓存 kill: # 杀死指定的线程,需指定线程ID;可以一次杀死多个线程,以逗号分隔,但不能有多余空格 password: # 修改当前用户的密码 ping: # 模拟ping操作,检测mysqld是否在线 processlist: # 显示mysqld线程列表 shutdown: # 关闭mysqld进程 start-slave,stop-slave: # 启动/关闭从服务器线程
7、MySQL数据文件解析
MyISAM表:每表有3个文件,都位于数据库目录中
tb_name.frm: # 表结构定义文件 tb_name.MYD: # 数据文件 tb_name.MYI: # 索引文件
InnoDB表:有2种存储方式
默认方式:每表有1个独立文件和一个多表共享的文件
tb_name.frm: # 表结构定义文件,位于数据库目录中 ibdata#: # 共享的表空间文件,默认位于数据目录(datadir指向的目录)中,如ibdata1
自定义方式:独立的表空间
tb_name.frm: #表结构定义文件 tb_name.ibd: # 独有的表空间文件
在MySQL初始化中打开独立表空间功能的方法:
vi /etc/my.cnf (在[mysqld]段下添加) innodb_file_per_table = ON # 注:表空间:table space,是由InnoDB管理的特有格式的数据文件,内部可同时存储数据和索引
MySQL系列-第一章节:MySQL介绍与安装的更多相关文章
- openresty开发系列10--openresty的简单介绍及安装
openresty开发系列10--openresty的简单介绍及安装 一.Nginx优点 十几年前,互联网没有这么火,软件外包开发,信息化建设,帮助企业做无纸化办公,收银系统,工厂erp,c/s架构偏 ...
- Kafka系列一之架构介绍和安装
Kafka架构介绍和安装 写在前面 还是那句话,当你学习一个新的东西之前,你总得知道这个东西是什么?这个东西可以用来做什么?然后你才会去学习它,使用它.简单来说,kafka既是一个消息队列,如今,它也 ...
- Ansible第一篇:介绍及安装
Ansible介绍 Ansible是个什么东西呢?官方的title是"Ansible is Simple IT Automation"--简单的自动化IT工具.ansible基于P ...
- mysql系列之2.mysql多实例
使用场景 资金紧张; 并发访问不大; 门户网站; 实现 生产硬件配置: mem 32G / 双cpu 8核 / 磁盘6*600G sas 15k, 2-3个实例 安装组件 #yum install n ...
- Flume系列一之架构介绍和安装
Flume架构介绍和安装 写在前面 在学习一门新的技术之前,我们得知道了解这个东西有什么用?我们可以使用它来做些什么呢?简单来说,flume是大数据日志分析中不能缺少的一个组件,既可以使用在流处理中, ...
- mysql系列之6.mysql主从同步
普通文件的数据同步 nfs: 网络文件共享 samba: 共享数据 定时任务或守护进程结合 rsync.scp inotify(sersync)+rsync 触发式实时数据同步 ftp数据同步 ssh ...
- mysql系列之4.mysql字符集
针对mysql语句的临时办法: 先查看下mysql的各种编码设置情况, 如果结果显示有几项的编码不一致, 请先调整linux的系统编码 mysql> show variables like 'c ...
- MySQL高级第一章——架构介绍
一.简介 是一个经典的RDBMS,目前归属于Oracle 高级MySQL包含的内容: MySQL内核 SQL优化工程师 MySQL服务器的优化 各种参数常量设定 查询语句优化 主从复制 软硬件升级 容 ...
- mysql系列之多实例介绍
介绍: mysql多实例,简单理解就是在一台服务器上,mysql服务开启多个不同的端口(如3306.3307),运行多个服务进程.这些 mysql 服务进程通过不同的 socket来监听不同的数据端口 ...
随机推荐
- Tomcat服务器的配置
本地安装的Tomcat服务器版本是 Apache Tomcat/7.0.42 启动 localhost 使用Tomcat的前提是安装了jdk,我在本地安装了jdk7.Tomcat服务器的文件目录为F: ...
- 安装php的memcached模块和扩展支持sasl
memcached的1.2.4及以上增加了CAS(Check and Set)协议,对于同一key的多进行程的并发处理问题.这种情况其实根数据库很像,如果同时有几个进程对同一个表的同一数据进行更新的话 ...
- linux磁盘及分区详解
1.Linux 分区简介 1.1 主分区 vs 扩展分区 硬盘分区表中最多能存储四个分区,但我们实际使用时一般只分为两个分区,一个是主分区(Primary Partion)一个是扩展分区(extend ...
- laravel框架基础知识点
一.数据库:DB 1.db查 DB::table('msg')->where('id','>',$id)->get() 查询单行 DB::table(' ...
- EntityFrameWork连接多Db配置
如题所示,EF作为微软主推的ORM工具,最新版本已经是7,说明有很多人在使用它做项目.在使用过程中,可能会连接不同的数据库,本文介绍的是连接SqlServer,MySql和SQLite三种,并且可以互 ...
- java10 - 泛型与枚举
java10泛型与枚举 泛型和枚举都是JDK1.5版本之后加入的新特性,泛型将程序代码的类型检查提前到了编译期间进行,枚举类型增强了程序代码的健壮性. 1.泛型类 class VariableType ...
- Android动态加载技术(插件化技术)
No1: 插件化技术的好处: 1)减轻应用的内存和CPU占用 2)实现热插拔,即在不发布新版本的情况下更新某些模块 No2: 插件化方案必须要解决三个基础性问题:资源访问.Activity生命周期的管 ...
- 使用axios以及http-proxy-middleware代理处理跨域的问题
axios现在以及是尤大大推荐使用的了,官方不在维护vue-reresource. 由于是地第一次使用axios, 在使用过程中猜了很大的坑 首先我们使用vue-cli创建的项目, 访问接口肯定是跨域 ...
- ActiveMQ安装及启动
最近项目组遇到MQ的问题(项目组用的IBM MQ),突然想回来看看MQ.本来就不是太熟练,闲来无事写写看看. 不多说,首先是安转ActiveMQ,官方网址:http://activemq.apache ...
- cookie、session和java过滤器
基础知识理解: cookie.session和过滤器通常都是用在web应用中,cookie和session用来保存一定的数据,过滤器Filter则是在浏览器发出请求之后,而后台执行特定的请求之前发生一 ...