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:

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

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

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

2.2安装说明

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

12.输入命令,启动mysqld:

出现如下效果即为成功:

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

添加如下内容:

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

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

输入密码,回车即可。

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

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

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

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

18.输入命令,退出MySQL。

2.3防火墙处理

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

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

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

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

2.4验证安装

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

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线程负责读取这个中继日志,并执行一遍。

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

3.3主服务器

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

更改配置文件:

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

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

输入密码后登录mysql:

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

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

3.4从服务器

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

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

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

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

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

4心得体会

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

4.1做事方法

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

4.2意识形态

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

4.3工作总结

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

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

MySQL安装配置说明相关推荐

  1. redhat php5 安装,完整的linux(RedHat)+php5.3.10+mysql5.5.19+apache2.2.22安装配置说明

    完整的linux(RedHat) +php5.3.10+mysql5.5.19+apache2.2.22安装配置说明 1.安装mysql #mysql完整配置 #groupadd mysql #use ...

  2. php mysql安装配置_转载:PHP,MySQL的安装与配置

    一.安装配置PHP 把php.ini-production另存为php.ini.修改其内容: 1)extension_dir = "D:/php-5.4.45/ext"设置指定的扩 ...

  3. mysql安装完全排坑指南

    写在前面 因为网上各类型的mysql安装到维护全流程各种小白遇到了各种花里胡哨的问题,而查找资料到寻找答案充斥着各种博文的原创和转载,而其中大量的信息,随着mysql的版本更新迭代,或者是一些博主投机 ...

  4. Linux Java Web 服务器搭建之mysql安装

    一 mysql安装文件下载 使用一下命令下载安装文件 wget -c https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.24-linux- ...

  5. fedora mysql 客户端_fedora mysql 安装

    本例使用的是 mysql-5.0.45.tar.gz 安装编译前提: Yum install gcc Yum install gcc-c++ 1.第一个MYSQL安装 编译1.带上参数 ./confi ...

  6. centos mysql安装_mysql yum源安装

    部署服务器环境的时候经常要安装mysql,以下是常见的安装方式 源码安装 rpm包安装 yum源安装 这篇主要介绍yum源安装. yum源下载 进入 https://dev.mysql.com/dow ...

  7. mysql数据库解压安装教程_MySQL数据库之windows 10下解压版MySql安装配置方法教程...

    本文主要向大家介绍了MySQL数据库之windows 10下解压版MySql安装配置方法教程 ,通过具体的内容向大家展现,希望对大家学习MySQL数据库有所帮助. windows 10 下安装解压版的 ...

  8. Mysql 安装及实践(学习笔记二)

    安装并配置MySQL数据库 3.2.1 安装MySQL数据库 1.MySQL数据库的安装环境准备 如果读者没有物理服务器环境,则可以搭建vmware等虚拟机环境学习,相应地则需准备如下内容: 1)请提 ...

  9. linux 下mysql的管理,Linux下 MySQL安装和基本管理

    •安装linux一些必须的包: 1.yum install gcc gcc-c++ gcc-g77 autoconf automake zlib* fiex* libxml* ncurses-deve ...

最新文章

  1. 将表中的值变成字段显示
  2. Java包的命名规范
  3. redis有值查询返回null_redis运行lua脚本hmget返回值为空判断问题-Go语言中文社区...
  4. 国外网站设计欣赏:30个优秀的国外咖啡网站设计
  5. 华中科技大学计算机学院2020直博生名单,华中科技大学各院系2020年博士研究生“申请-考核”制拟录取名单公示...
  6. 【DP】奖励卡(jzoj 3937)
  7. python 输入数字变成密码_如何在python中检查数字的“密码”
  8. Mac远程连接服务器
  9. python牛顿法求方程的根_Python 求多重根的方法
  10. JAVA中使用Apache Batik实现SVG文件转PDF文件导出
  11. 线性代数系列(八)--线性代数和图论
  12. android systrace log,Android性能优化之Systrace分析基础
  13. MPEG-7描述子(0)——颜色空间
  14. java 调试sql server_sql server 如何调试存储过程
  15. 【号外】联手腾讯故宫试水“互联网+”
  16. 联通光猫后台 192.168.1.1登录
  17. 罗技G304接收器无反应问题,现象及解决方法
  18. 参加第一场多校大一训练赛后的感想
  19. 《微信小程序开发实战》学习笔记chapter1微信小程序人门
  20. 【LeetCode】LCP 17. 速算机器人(C++)

热门文章

  1. 【数理方程】弦振动问题
  2. 《临江仙·梦后楼台高锁》——[宋]晏几道
  3. 让你飞速成长的18个故事
  4. windows密码安全性测试
  5. python软件许可License文件生成
  6. 15. Perl 正则表达式-正则捕获
  7. 年度战略方案制定步骤
  8. 如果我是杀毒软件,对捆绑器会这样思考
  9. OpenCL 2.0 规范 – SVM共享虚拟内存
  10. 需要近期熟悉的表_2019_3_18