찾다
데이터 베이스MySQL 튜토리얼烂泥:mysql5.0数据库源码编译安装
烂泥:mysql5.0数据库源码编译安装Jun 07, 2016 pm 02:52 PM
설치하다데이터 베이스소스 코드엮다기동기

本文首发于 烂泥行天下 。 本次实验的mysql、OS相关信息如下: Mysql:5.0.96 OS:centos 32 bit 最近公司要上新的业务,指明数据库使用的是mysql5.0版本。如果是使用rpm包安装的话,那就很简单了。直接使用yum安装即可,命令如下: yum –y install mysql m

本文首发于烂泥行天下

本次实验的mysql、OS相关信息如下:

Mysql:5.0.96 OS:centos 32 bit

最近公司要上新的业务,指明数据库使用的是mysql5.0版本。如果是使用rpm包安装的话,那就很简单了。直接使用yum安装即可,命令如下:

yum –y install mysql mysql-server

clip_image001

clip_image002

Yum方式安装完毕后,直接启动mysql数据库服务即可。如下图:

clip_image003

这样基本上就可以了。

但是这样安装mysql数据库,没有进行定制。比如mysql数据库的数据文件存储位置。rpm形式安装的数据文件默认位置为/var/lib/mysql。这个我们可以通过mysql的配置文件查看所得,如下图:

clip_image004

实际的情况是,我们新的业务要求mysql数据库的数据文件需要单独进行存放,这个使用rpm形式就不太容易达到要求。所以打算使用源码进行编译安装,而且自己也没有对mysql数据库进行源码安装过。刚好趁这次机会学习如何对mysql数据库进行源码安装。

首先,在相应的网站下载mysql的安装包。为什么说是相应的网站,而不是mysql的官网。因为现在在官网无法下载到5.0版本的,只能下载到5.5以上的版本。我现在是在这个网站下载的:http://download.mysql.cn/src/

下载完毕上传到服务器上,具体如何上传你可以使用winscp、FTP。或者也可以使用lrzsz这个软件。

我现在使用的就是lrzsz这个软件,如果你的服务器没有安装的话,可以通过:

yum –y install lrzsz

进行安装,如下图:

clip_image005

rz 是上传的命令,sz是下载的命令。

我们现在使用日志命令把mysql的安装包,上传到服务器上,如下图:

clip_image006

clip_image007

clip_image008

Mysql安装包已经上传完毕,那么我们现在进行安装mysql之前的工作。

安装mysql编译所需要的工具包,如下图:

clip_image009 clip_image010

clip_image011

yum -y install gcc gcc-c++ ncurses-devel

工具包安装完毕后,我们来新建相关的用户。第一个用户ilanni,用来安装mysql使用。第二个用户是mysql,用来运行mysql的。如下图:

clip_image012

把mysql安装包移动到ilanni用户的家目录下,并解压,如下图:

clip_image013

clip_image014

以上工作是前提工作,做完后。我们现在进入mysql-5.0.96目录开始安装mysql。

首先编译mysql数据库,如下图:

clip_image015

./configure --prefix=/usr/local/mysql 其中/usr/local/mysql为mysql数据库的安装位置。

clip_image016

clip_image017

可以看到没有报错,那我们开始make,如下图:

clip_image018

Make过程比较慢,我这边大约10分钟左右。

clip_image019

Make终于完毕了,通过上图可以没有报错。

下面开始make install,如下图:

clip_image020

clip_image021

Make install还是比较快的,可以看到没有报错。

Mysql已经安装完毕,下面开始进行相关的配置。

还是在该安装目录下,如下图:

clip_image022

复制support-files目录下的my-medium.cnf到/etc/下作为mysql的配置文件:

cp support-files/my-medium.cnf /etc/my.cnf

clip_image023

复制support-files目录下的mysql.server到/etc/init.d/目录下作为mysql的启动文件

clip_image024

现在我们来启动下使用/etc/init.d/mysqld启动mysql 试下,如下图:

clip_image025

可以看到系统提示我们,没有执行该脚本的权限。而mysqld脚本的权限,看下图:

clip_image026

可以很明显的看到目前该脚本的权限为744,根本没有执行权限。

现在更改该脚本的权限,如下图:

clip_image027

Ok,该文件的权限修改完毕后,我们来初始化mysql数据库。在文章的开头我就说了,我现在要把mysql的数据文件存放在/data目录下。

首先要创建/data目录,并修改该目录的所属用户及用户组。如下图:

clip_image028

修改完毕后,我们还需要修改/usr/local/mysql的所属用户及用户组,如下图:

clip_image029

以上修改完毕后,我们还需要修改mysql的配置文件。主要是要在配置文件中加入目前自己定义数据文件位置,如下图:

clip_image030

以上所有的修改进行完毕后,我们在执行mysql安装目录scripts下mysql_install_db文件,如下图:

clip_image031

./scripts/mysql_install_db --user=mysql 中的--user=mysql一定要有。

我们来查看mysql初始化的结果,查看/data目录,如下图:

clip_image032

可以看到mysql的默认数据mysql及test都在里面。

现在我们来启动mysql看看实际的情况,如下图:

clip_image033

/etc/init.d/mysqld start

如果要把mysql开机启动,可以使用chkconfig命令。如下图:

clip_image034

如果你想在如何目录下直接mysql命令,需要把/usr/local/mysql/bin路径加入到全局设置/etc/profile文件中,如下图:

clip_image035

Ok,到此mysql数据库就安装完毕。

如果mysql客户端连接,mysql服务比较慢的话。我们需要在my.cnf文件中加入skip-name-resolve,如下:

wKiom1RXLsnhbFsiAACS1IQBpCE094.jpg

PS:有关本次实验使用的命令如下,在执行过程中建议尽量按照命令的顺序进行操作:

yum -y install gcc gcc-c++ ncurses-devel

tar xf mysql-5.0.22.tar.gz

useradd ilanni

useradd -s /sbin/nologin mysql

cd /home/ilanni/mysql-5.0.22

./configure --prefix=/usr/local/mysql

make

make install

cp /home/ilanni/mysql-5.0.96/support-files/my-medium.cnf /etc/my.cnf

cp /home/ilanni/mysql-5.0.96/support-files/mysql.server /etc/init.d/mysqld

chmod -R 755 /etc/init.d/mysqld

chown -R mysql:mysql /usr/local/mysql

mkdir /data

chown -R mysql:mysql /data

/usr/local/mysql/bin/mysql_install_db --basedir=/usr/local/mysql

/etc/init.d/mysqld start

echo PATH=$PATH:/usr/local/mysql/bin/ >>/etc/profile

tail -10 /etc/profile

source /etc/profile

성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
深入理解MySQL索引优化器工作原理深入理解MySQL索引优化器工作原理Nov 09, 2022 pm 02:05 PM

本篇文章给大家带来了关于mysql的相关知识,其中主要介绍了关于索引优化器工作原理的相关内容,其中包括了MySQL Server的组成,MySQL优化器选择索引额原理以及SQL成本分析,最后通过 select 查询总结整个查询过程,下面一起来看一下,希望对大家有帮助。

sybase是什么数据库sybase是什么数据库Sep 22, 2021 am 11:39 AM

sybase是基于客户/服务器体系结构的数据库,是一个开放的、高性能的、可编程的数据库,可使用事件驱动的触发器、多线索化等来提高性能。

visual foxpro数据库文件是什么visual foxpro数据库文件是什么Jul 23, 2021 pm 04:53 PM

visual foxpro数据库文件是管理数据库对象的系统文件。在VFP中,用户数据是存放在“.DBF”表文件中;VFP的数据库文件(“.DBC”)中不存放用户数据,它只起将属于某一数据库的 数据库表与视图、连接、存储过程等关联起来的作用。

数据库系统的构成包括哪些数据库系统的构成包括哪些Jul 15, 2022 am 11:58 AM

数据库系统由4个部分构成:1、数据库,是指长期存储在计算机内的,有组织,可共享的数据的集合;2、硬件,是指构成计算机系统的各种物理设备,包括存储所需的外部设备;3、软件,包括操作系统、数据库管理系统及应用程序;4、人员,包括系统分析员和数据库设计人员、应用程序员(负责编写使用数据库的应用程序)、最终用户(利用接口或查询语言访问数据库)、数据库管理员(负责数据库的总体信息控制)。

microsoft sql server是什么软件microsoft sql server是什么软件Feb 28, 2023 pm 03:00 PM

microsoft sql server是Microsoft公司推出的关系型数据库管理系统,是一个全面的数据库平台,使用集成的商业智能(BI)工具提供了企业级的数据管理,具有使用方便可伸缩性好与相关软件集成程度高等优点。SQL Server数据库引擎为关系型数据和结构化数据提供了更安全可靠的存储功能,使用户可以构建和管理用于业务的高可用和高性能的数据应用程序。

access数据库的结构层次是什么access数据库的结构层次是什么Aug 26, 2022 pm 04:45 PM

结构层次是“数据库→数据表→记录→字段”;字段构成记录,记录构成数据表,数据表构成了数据库。数据库是一个完整的数据的记录的整体,一个数据库包含0到N个表,一个表包含0到N个字段,记录是表中的行。

go语言可以写数据库么go语言可以写数据库么Jan 06, 2023 am 10:35 AM

go语言可以写数据库。Go语言和其他语言不同的地方是,Go官方没有提供数据库驱动,而是编写了开发数据库驱动的标准接口,开发者可以根据定义的接口来开发相应的数据库驱动;这样做的好处在于,只要是按照标准接口开发的代码,以后迁移数据库时,不需要做任何修改,极大方便了后期的架构调整。

mysql查询慢的因素除了索引,还有什么?mysql查询慢的因素除了索引,还有什么?Jul 19, 2022 pm 08:22 PM

mysql查询为什么会慢,关于这个问题,在实际开发经常会遇到,而面试中,也是个高频题。遇到这种问题,我们一般也会想到是因为索引。那除开索引之外,还有哪些因素会导致数据库查询变慢呢?

See all articles

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

뜨거운 도구

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

PhpStorm 맥 버전

PhpStorm 맥 버전

최신(2018.2.1) 전문 PHP 통합 개발 도구

에디트플러스 중국어 크랙 버전

에디트플러스 중국어 크랙 버전

작은 크기, 구문 강조, 코드 프롬프트 기능을 지원하지 않음

맨티스BT

맨티스BT

Mantis는 제품 결함 추적을 돕기 위해 설계된 배포하기 쉬운 웹 기반 결함 추적 도구입니다. PHP, MySQL 및 웹 서버가 필요합니다. 데모 및 호스팅 서비스를 확인해 보세요.

Eclipse용 SAP NetWeaver 서버 어댑터

Eclipse용 SAP NetWeaver 서버 어댑터

Eclipse를 SAP NetWeaver 애플리케이션 서버와 통합합니다.