|
|
51CTO旗下网站
|
|
移动端

如何搭建MySQL数据库系统

为了避免发生端口冲突、程序冲突等现象,建议先查询MySQL软件的安装情况,确认没有使用RPM方式安装mysql-server、mysql软件包,否则建议将其卸载。

作者:一米八是我呀来源:今日头条|2019-03-01 18:27

如何搭建MySQL数据库系统

MySQL数据库系统(安装)

前言:Apache HTTP Server 作为优秀的Web服务器软件,提供了面向用户的前端应用功能。而在实际的企业网站平台中,为了提供更丰富、更强大的Web应用功能,往往还需要有后台数据库、网页编程语言等多种角色的支持。

一、MySQL的编译安装

MySQL是一个真正的多线程、多用户的SQL数据库服务,凭借其高性能、高可靠和易于使用的特性,称为服务器领域中最受欢迎的开源数据库系统。在2008年以前,MySQL项目由MySQL AB公司进行开发、发布和支持,之后经历Sun公司收购MySQL AB公司,Oracle公司收购Sun公司的过程,目前MySQL项目由Oracle公司负责运营和维护。

为了确保MySQL数据库功能的完整性、可定制性,一般采用源码编译的方式安装MySQL数据库系统。MySQL 5.X 系列版本的使用最为广泛,该版本的稳定性、兼容性都不错,下面将以mysql-5.6.36.tar.gz为例。(源码包官网可以下载)

1.准备工作

1)为了避免发生端口冲突、程序冲突等现象,建议先查询MySQL软件的安装情况,确认没有使用RPM方式安装mysql-server、mysql软件包,否则建议将其卸载。

如何搭建MySQL数据库系统

2)然后安装光盘自带的ncurses-devel包,ncurses是字符终端下屏幕控制的基本库。可能很多新开发的程序已经不再使用。假如要编译一些老的程序,还是会经常碰到,在TTY下登录主机上MySQL需要。如下图:

如何搭建MySQL数据库系统

3)MySQL 5.X 系列版本需要cmake编译安装,所以先安装cmake包(从http://www.cmake.org官网可以下载源码包)。如下图:

如何搭建MySQL数据库系统

2.创建运行用户

为了加强数据库服务的权限控制,建议使用专门的运行用户,如mysql。此用户不需要登录到系统,可以不创建宿主文件夹。如下:

[root@localhost ~]# groupadd mysql

[root@localhost ~]# useradd -M -s /sbin/nologin mysql -g mysql

3.解包、配置、编译并安装

将下载的mysql源码包解压,并切换到源码目录。从MySQL 5.5 起,mysql源码安装开始使用cmake了,设置源码编译配置脚本.如下图:

如何搭建MySQL数据库系统

上图配置命令中,各选项的含义如下:

  • -DCMAKE_INSTALL_PREFIX:指定将MySQL数据库程序安装到某目录下。
  • -DSYSCONFDIR:指定初始化参数文件目录。
  • -DDEFAULT_CHARSET:指定默认使用的字符集编码,如:utf-8
  • -DDEFAULT_COLLATION:指定默认使用的字符集校对规则,utf8_general_ci是适用于utf-8字符集的通用规则。
  • -DWITH_EXTRA_CHARSETS:指定额外支持的其他字符集编码。

配置项会根据实际环境而改变,并不是定死的,所以,当需要不同需求的时候可根据多方面查找,随机应变吧。

4.安装后的其他调整

1)对数据库目录进行权限设置,如下:

[root@localhost ~]# chown -R mysql:mysql /usr/local/mysql

2)建立配置文件

CentOS 7系统下默认支持MariaDB数据库,因此系统默认的/etc/my.cnf配置文件中是MariaDB的配置文件。而在MySQL源码目录中support-file文件夹下,提供了MySQL数据库默认的样本配置文件my-default.cnf文件,在启动MySQL数据库服务之前,需要先将原有的my.cnf文件替换为MySQL提供的配置文件内容。如下图:

如何搭建MySQL数据库系统

3)初始化数据库

为了能够正常使用MySQL数据库系统,应以运行用户mysql的身份执行初始化脚本mysql_install_db,指定数据存放目录等。如下图:

如何搭建MySQL数据库系统

4)设置环境变量

为了方便在任何目录下使用mysql命令,需要在/etc/profile设置环境变量。(/etc/profile这个文件是每个用户登录时都会运行的环境变量设置)如下图:

如何搭建MySQL数据库系统

也可以用vim编辑,结果都一样。

5.添加mysql为系统服务

若希望添加mysqld系统服务,以便通过systemctl进行管理,可以直接使用源码包中提供的服务脚本。找到support-files文件夹下的mysql.server脚本文件,将其复制到/usr/local/mysql/bin/目录下,并改名为mysqld.sh,然后创建mysql系统服务的配置文件/usr/lib/systemd/system/mysqld.server,将其添加为mysqld系统服务。如下图:

如何搭建MySQL数据库系统

这样,以后就可以使用systemctl工具来控制MySQL数据库服务了。若添加失败,可以使用“/usr/local/mysql/bin/mysqld.sh start/stop/restart”命令开启/关闭/重启数据库。结果都一样。

MySQL服务器默认通过TCP3306端口提供服务。通过编辑/etc/my.cnf配置文件中[mysqld]配置端的"port=3306"行,可以更改监听端口,后面我们在详细述说,还有如何使用数据库、如何对数据库用户授权等。


下面是我在做实验时的报错:

初始化报错,如下图:

如何搭建MySQL数据库系统

解决方法 :安装autoconf库

输入命令

  1. #yum-y install autoconf //此包安装时会安装Data:Dumper模块,系统盘做yum源就可以,系统盘有 

安装autoconf库,再运行就ok了

Autoconf简介:由Autoconf生成的配置脚本在运行的时候不需要用户的手工干预;通常它们甚至不需要 通过给出参数以确定系统的类型。相反,它们对软件包可能需要的各种特征进行独立 的测试。(在每个测试之前,它们打印一个单行的消息以说明它们正在进行的检测, 以使得用户不会因为等待脚本执行完毕而焦躁。)因此,它们在混合系统或者从各种 常见Unix变种定制而成的系统中工作的很好。没有必要维护文件以储存由各个Unix变种 、各个发行版本所支持的特征的列表。

【编辑推荐】

  1. 记录一次MySQL两千万数据的大表优化解决过程,提供三种解决方案
  2. MySQL命令,一篇文章替你全部搞定
  3. 开源数据库这么多,你知道几种
  4. 怎么对MySQL数据库进行备份与恢复
  5. MySQL数据库的备份案例
【责任编辑:庞桂玉 TEL:(010)68476606】

点赞 0
分享:
大家都在看
猜你喜欢

订阅专栏+澳门新濠天地平台

活学活用 Ubuntu Server

活学活用 Ubuntu Server

实战直通车
共35章 | UbuntuServer

218人订阅学习

Java EE速成指南

Java EE速成指南

掌握Java核心
共30章 | 51CTO王波

83人订阅学习

Mysql DBA修炼之路

Mysql DBA修炼之路

MySQL入门到高阶
共24章 | 武凤涛

471人订阅学习

读 书 +澳门新濠天地平台

计算机病毒分析与防治简明教程

本书全面翔实地介绍了各种病毒的原理,以操作系统的发展为主线,结合病毒的发展过程来综合分析病毒。在分析工具上,较多地利用了脚本语言、...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊

51CTO服务号

51CTO播客

博聚网