任务背景:
将原来的数据库从原来的MySQL-5.5 升级到现在的MySQL-5.7,并保证数据完整。
1)不同版本MySQL的安装;yum glibc、源码安装,是企业100%要用到的。
2)MySQL数据库版本升级;(数据库升级的注意事项)
3)如何经过自己的思考,找到一个合适的解决方案;
今日任务场景:
LAMP环境单击服务器已经不能满足要求了,将原有的数据库迁移到另外一台单独的服务器上,迁移后保证系统正常运行。
任务要求:
1、在任务维护时间段对数据库进行备份;数据很重要。备份是非常重要的一个任务。
2、将MySQL数据库从老服务器(LAMP)中迁移到新的单独MySQL数据库服务器,版本升级为5.7.27;
任务拆解:
1)新服务器安装MySQL7.6, 并且安装MySQL-5.7.31版本数据库。
2)停止监控、停止前端应用,停止MySQL数据库;
3)备份数据库;
4)迁移数据库,同步数据库到新的环境中(rsync、scp)
5)测试验证;
涉及知识点:
1)官方下载MySQL数据包(根据需求)
2)MySQL的安装部署;
3)MySQL数据管理员用户root密码的设置及修改;
4)MySQL客户端工具的事情;
理论储备:
MySQL数据库:
关系型数据库,是指采用了二维表格来组织数据的数据库。
扩展:数据库在行业内一般会有两种情况,关系型数据库和非关系型数据库。
非关系型数据库并不是通过二位表格来维护数据的,而是通过Key->Value键值对来维护数据的。
常见的关系型数据库:
oracle、mysql、B2(IBM)、Sybase、SQL-Server、IBM-infomix。
关系型数据库最大的特点是事务一致性,所以也在对事务一致性的维护中有很大的开销。
什么是事务?
1)事务是由一条或多条SQL语句组成的;
2)在事务中的操作,这些SQL语句要么都成功操作,要么都不成功,这就是一个事务。
事务特点:(ACID)
1)原子性;事务中的全部操作在数据库中是不可分割的。
2)一致性;不能破坏关系数据的完整性以及业务逻辑上的一致性。
3)隔离性;一个事务的执行不受其他事务的干扰。
4)持久性:对数据库中的数据的改变就是永久性的。
应用:银行及支付系统类。
MySQL数据库介绍:
1)MySQL是比较典型的关系型数据库;
2)由瑞典MySQL AB公司开发,目前属于Oracle公司;
3)MySQL是C/S架构。
MySQL的版本:
1)社区版;未经各个专有系统平台的压力测试和性能测试;没有任何官方技术支持服务。
2)企业版;提高了比较全面的高级功能、管理工具及技术支持;安全性、稳定性、可扩展性好。
3)集群版;MySQL Cluster CGE。
Final:
Release:
Standard:
Mini:
GA:开发团队认为该版本是稳定版,可以在较为关键的场合使用。
获取MySQL软件:
Glibc版本,相当于Windows中的绿色版本。
2)源码编译版本(需要源码编译三步骤:配置、编译、安装。)
下载方法是这个。这个是要记住的,以前还有点忽视这方面的内容。
老师建议下载带Boost Header,C++扩展库。
三种安装方式的区别:
glibc相当于windows的绿色软件。需要手动初始化数据库。二进制包。依赖glibc库,可以安装在通用的Linux系统下。
mysql.5.7.43.tar.gz,通用的Linux都可以编译安装。
在企业中,数据库安装方式很少采用rpm的安装方式,采用源码安装方式和glibc的安装方式。
如何区分数据库和数据库实例:
1)什么是MySQL数据库?
数据库:操作系统或存储上的数据文件的集合。mysql数据库中,数据库文件可以是* .frm、.MYD、.MYI、*.ibd等结尾的文件, 不同存储引擎文件类型不同。
2)什么是MySQL数据库实例?
数据库实例instance:由后台进程或者线程一个共享内存区组成的,共享内存可以被运行的后台线程所共享。数据库实例才是真正操作数据库的。
3)什么是MySQL数据库服务器?
数据库服务器(Database Server):部署安装数据库实例的服务器。
4)数据库和数据库实例的关系是什么?
通常情况下,数据库实例和数据库是一一对应的关系。一个数据库实例对应一个数据库。
在集群环境中,存在多个数据库实例共同使用一个数据库。