MySQL是一款安全、高效、跨平台与Java等主流编程语言紧密结合的关系型数据库管理系统。目前MySQL被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、成本低和开放源码的特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。在WEB应用方面,MySQL是最好的关系数据库管理系统应用软件之一。

MySQL是一种关系型数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个仓库内,这样就增加了速度并提高了灵活性。 MySQL数据库可以称得上是目前运行速度最快的SQL语言数据库之一。除了具有许多其它数据库所不具备的功能外,MySQL数据库还是一种完全免费的产品,用户可以直接通过网络下载MySQL数据库,而不必支付任何费用。 

1整体介绍 

MySQL的象征符号是一只海豚,代表MySQL数据库的速度、能力、精确和优秀本质。 

1.1应用架构 

单点(Single):适合小规模应用。 

复制(Replication):适合中小规模应用。 

集群(Cluster):适合大规模应用。 

1.2应用环境 

MySQL支持至少20种以上的开发平台,包括Linux、Windows、FreeBSD、IBMAIX、AIX、FreeBSD等。这就表明在任何平台下编写的程序都可以进行移植,而不需要对程序做进行修改。 

MySQL为各种流行的程序设计语言提供支持,为它们提供了API函数,包括PHP、ASP.NET、Java、Eiffel、Python、Ruby、Tcl、C、C++、Perl语言等。 

1.3安全性能 

灵活安全的权限与密码系统,允许基本主机的验证。连接到服务器时,所有的密码传输均采用加密形式,从而保证密码的安全。 

高速是MySQL的显著特性。在MySQL中,使用了B树磁盘表(MyISAM)和索引压缩;通过使用优化的单扫描多连接,能够极快地实现连接;SQL函数使用高度优化的类库实现,运行速度极快。 

1.4使用成本 

MySQL是开源的,所以不需要支付额外的费用。相比于Oracle数据库,MySQL数据库是一个完全免费的产品,用户可以直接通过网络下载。 

2安装配置 

下面介绍在linux系统环境中,安装配置MySQL数据库的具体步骤和验证说明。 

2.1环境准备 

由于CentOS7内置了一个数据库Mariadb需要先卸载它,卸载完毕后才能安装MySQL。 

1.输入命令,查询已安装的Mariadb: 

MySQL安装配置说明_数据库

MySQL安装配置说明_MySQL_02

  

2.输入命令,卸载Mariadb,文件名为上述命令查询出来的文件名:

MySQL安装配置说明_数据库_03

MySQL安装配置说明_MySQL_04

3.输入命令,删除etc目录下的my.cnf(如果以前安装了MySQL需要操作): 

MySQL安装配置说明_MySQL安装配置_05

4.输入命令,安装依赖。

MySQL安装配置说明_MySQL_06

2.2安装说明 

1.输入命令,将MySQL压缩包上传到/usr/local/目录下并解压:;

MySQL安装配置说明_MySQL安装_07

2.输入命令,将解压好的文件夹重命名为mysql: 

MySQL安装配置说明_mysql_08

3.输入命令,在/usr/local/mysql目录下创建data目录: 

MySQL安装配置说明_mysql_09

4.输入命令,检查mysql用户组和用户是否存在,如果没有,则创建: 

MySQL安装配置说明_MySQL_10

MySQL安装配置说明_mysql_11

  

5.输入命令,更改mysql目录下所属的用户组和用户,以及权限: 

MySQL安装配置说明_MySQL安装_12

MySQL安装配置说明_MySQL安装_13

  

6.输入命令,在etc下新建配置文件my.cnf,并在该文件中添加以下代码: 

MySQL安装配置说明_数据库_14

通过vi编辑器编辑my.cnf代码如下: 

MySQL安装配置说明_MySQL_15

MySQL安装配置说明_数据库_16

MySQL安装配置说明_数据库_17

7.输入命令,编译安装并初始化mysql: 

MySQL安装配置说明_MySQL安装配置_18

MySQL安装配置说明_数据库_19

注意:记住日志最后的初始化密码。 

8.输入命令,复制启动脚本到资源目录,以方便后续mysql的启动: 

MySQL安装配置说明_MySQL安装_20

9.输入命令,增加mysqld服务控制脚本执行权限: 

MySQL安装配置说明_MySQL安装_21

10.输入命令,将mysqld服务加入到系统服务: 

MySQL安装配置说明_数据库_22

11.输入命令,检查mysqld服务是否已经生效: 

MySQL安装配置说明_MySQL_23

命令输出类似下面的结果: 

MySQL安装配置说明_MySQL_24

表明mysqld服务已经生效,在2、3、4、5运行级别随系统启动而自动启动,以后可以使用service命令控制mysql的启动、停止。 

12.输入命令,启动mysqld: 

MySQL安装配置说明_MySQL安装_25

出现如下效果即为成功: 

MySQL安装配置说明_MySQL安装配置_26

 

13.输入命令,将mysql的bin目录加入PATH环境变量,编辑~/.bash_profile文件,注意备份:cp~/.bash_profile~/.bash_profile.bak: 

MySQL安装配置说明_MySQL_27

添加如下内容: 

MySQL安装配置说明_MySQL_28

MySQL安装配置说明_MySQL_29

  

14.输入命令,修改的内容立即生效: 

MySQL安装配置说明_MySQL_30

15.输入命令,以root账户登录mysql,默认是上面记录的密码: 

MySQL安装配置说明_MySQL安装配置_31

输入密码,回车即可。 

MySQL安装配置说明_mysql_32

16.输入命令,设置root账户密码为root(也可以修改成你要的密码): 

MySQL安装配置说明_MySQL_33

MySQL安装配置说明_MySQL安装配置_34

  

17.输入命令,设置远程主机登录,注意下面的yourusername和 yourpassword改成你需要设置的用户和密码: 

MySQL安装配置说明_MySQL安装配置_35

例如密码为root,用户名也是root执行下方语句即可。 

注意:黄色部分可以调整为指定ip和密码(不建议和用户名相同,不安全)。

MySQL安装配置说明_MySQL_36

MySQL安装配置说明_数据库_37

18.输入命令,退出MySQL。 

MySQL安装配置说明_数据库_38

MySQL安装配置说明_MySQL安装_39

2.3防火墙处理 

1.输入命令,开启防火墙端口:

MySQL安装配置说明_mysql_40

MySQL安装配置说明_数据库_41

  

2.输入命令,加载设置: 

MySQL安装配置说明_MySQL安装_42

MySQL安装配置说明_MySQL安装_43

  

3.输入命令,查看端口是否开启: 

MySQL安装配置说明_数据库_44

MySQL安装配置说明_数据库_45

这样通过外部也能够链接Mysql。 

2.4验证安装 

因为MySQL安装时已经设置能够通过外部访问,所以通过navicat直接链接对应地址,即可验证配置和安装是否正确: 

MySQL安装配置说明_数据库_46

MySQL安装配置说明_MySQL安装配置_47

  

MySQL安装配置说明_MySQL安装配置_48

  

3热备处理 

MySQL数据库没有增量备份的机制,当数据量太大时,备份是一个很大的问题。所以MySQL数据库提供了一种主从备份的机制,其实就是把主数据库的所有数据同时写到备份数据库中。 

3.1环境准备 

操作系统:两台CentOS7.6的Linux系统(虚拟机) 

数据库版本:MySQL5.7 

主服务器IP:192.168.28.37 

从服务器IP:192.168.28.38 

3.2工作原理 

对于一个MySQL服务器,一般有两个线程来负责复制和被复制。当开启复制后: 

1.作为主服务器Master,会把自己的每一次改动都记录到二进制日志binlog中。(从服务器会负责来读取这个log,然后在自己那里再执行一遍。) 

2.作为从服务器Slave,会用master上的账号登陆到master上,读取master的binlog,写入到自己的中继日志Relaylog,然后自己的SQL线程负责读取这个中继日志,并执行一遍。 

在考虑双机热备时,需要注意一般意义上的双机热备都会有一个切换过程,这个切换过程可能是一分钟左右。在切换过程中,服务有可能短时间中断。但当切换完成后,服务将正常恢复。因此,双机热备不是无缝、不中断的,但它能够保证在出现系统故障时,能够快速恢复正常服务,业务不致受到影响。而如果没有双机热备,则一旦出现服务器故障,可能会出现几个小时的服务中断,对业务的影响就会造成很严重的损失。 

MySQL安装配置说明_MySQL安装配置_49

3.3主服务器 

1.输入命令,修改数据库配置文件: 

MySQL安装配置说明_数据库_50

更改配置文件: 

MySQL安装配置说明_数据库_51

MySQL安装配置说明_MySQL安装配置_52

2.输入命令,重启数据库服务(mysqld): 

MySQL安装配置说明_mysql_53

3.输入命令,登录MySQL数据库允许从库获得主库日志: 

MySQL安装配置说明_数据库_54

输入密码后登录mysql: 

MySQL安装配置说明_MySQL安装配置_55

4.输入命令,重启MySQL服务,登录MySQL,查看主库信息: 

MySQL安装配置说明_MySQL_56

MySQL安装配置说明_MySQL安装配置_57

需要记住File及Position信息,后面会用到。 

3.4从服务器 

1.输入命令,修改从库的数据库配置文件: 

MySQL安装配置说明_MySQL安装_58

MySQL安装配置说明_MySQL安装_59

2.输入命令,重启MySQL服务,登录MySQL: 

MySQL安装配置说明_MySQL_60

3.输入命令,数据库修改: 

MySQL安装配置说明_mysql_61

4.输入命令,查看从库状态信息: 

MySQL安装配置说明_MySQL_62

MySQL安装配置说明_mysql_63

至此整个过程就配置完成了,现在可以在主服务器上创建一个表,然后在从服务器上查询刚创建的表,查看是否存在。 

4心得体会 

通过撰写本篇文档意识到,在实际项目工作过程中随手记录的重要性,在记录后也需要相应的把记录内容整理到工作文档内,不断迭代完善自身能力,现从做事方法、意识形态、工作总结方面总结如下。 

4.1做事方法 

制定和实施数据库备份计划,问题出现时对数据库信息进行恢复,维护适当介质上的存档或备份数据。对数据库的备份策略要根据实际要求进行更改,数据的日常备份情况进行监控。备份数据库可以分为两种方式:一种是用数据库备份工具实现,另一种是使用服务脚本实现。两种方式都可以定时、计划性的备份,包含全备和增量备份。在日常数据库的操作中,永远要给自己留一个后手,保证在需要进行数据恢复时可以随手拈来。 

4.2意识形态 

伴随着自身专业知识的不断积累,对知识的认知也不断地提高。现在回过头看自己之前记录的工作文档,会发现有很多漏点存在,这时就需要再次完善工作文档。在这个完善的过程中把初学时的理解和当下做比较,了解到当时的自己有哪些不足,思维逻辑有了怎样的改善。技术、认知在不断地更新,工作文档也在不断地更新,在这个不断迭代更新的过程中,使自己的知识点由点连成线。 

4.3工作总结 

在工作学习过程中,通过不断地记录文档,可以从多方面提升自身的综合能力。一方面可以感觉得到自己的逻辑思维有了很显著地提升,尤其是在记录教程类的文档时,例如某些系统的使用手册。可以重新梳理系统的技术要点,在这个过程中不断地提高自己的逻辑思维能力;一方面在有了清晰的逻辑思维后,对自己的技术能力和水平都有了系统地提升。同时撰写文档也是一个总结、反思的过程,能够帮助个人促进深入思考的能力。 

通过实际参与项目,在服务器上安装配置MySQL数据库,不仅能提高对MySQL数据库安装部署的经验,也能加深对MySQL数据库的知识理解。后续也会继续配置MySQL数据库双机热备,整理相关的技术文档,迭代提升自身的工作能力,为后续的职业生涯奠定知识基础。