【MySQL】源码编译安装和配置MySql 5.5.32(单实例)

【需求描述】

在CentOS环境中,通过编译源码的方式,安装并且配置“单实例”的MySQL5.5.32数据库。

MySQL的安装目录为:/application/mysql-5.5.32

MySQL数据文件的安装目录为:/application/mysql-5.5.32/data

MySQL默认的字符编码为:UTF8

【环境参数】

VMware:10.0.1

Host:Win7

DB:MySql 5.5.32

编译工具:cmake-2.8.8.tar.gz

其他依赖:ncurses-devel-5.7-3.20090208.el6.x86_64.rpm

Client:CentOS 6.5 x86_64,i686,最小化安装(Minimal)。

在安装自定义组件包时,

(1)Base System只安装了Base,Compatibility Libraries和Debugging Tools。

(2)Development只安装了Development Tools。

【软件下载】

(1)MySql下载地址:

http://downloads.mysql.com/archives/community/?tpl=files&os=src&version=5.5.33

选择“Generic Linux (Architecture Independent), Compressed TAR Archive”这个版本的来下载。

(2)下载cmake

cmake的百度云盘连接:http://pan.baidu.com/s/1dDAWXsl

CMake是一个跨平台的安装(编译)工具,可以用简单的语句来描述所有平台的安装(编译过程)。他能够输出各种各样的makefile或者project文件,能测试编译器所支持的C++特性,类似UNIX下的automake。只是 CMake 的组态档取名为 CmakeLists.txt。

(3)下载ncurse-devel依赖包

ncurses-devel-5.7-3.20090208.el6.x86_64.rpm的百度云盘分享:

http://pan.baidu.com/s/1pJpDRCJ

【具体步骤】

1、查看系统环境

[[email protected] ~]# cat /etc/redhat-release
CentOS release 6.5 (Final)
[[email protected] ~]#
[[email protected] ~]#
[[email protected] ~]# uname -r
2.6.32-431.el6.x86_64
[[email protected] ~]#

2、安装相关软件包
(1) 配置、编译和安装cmake编译工具
①在当前目录,解压缩cmake-2.8.8.tar.gz
# tar –zxvf cmake-2.8.8.tar.gz

②从当前目录切换到cmake-2.8.8目录中,
# cd cmake-2.8.8

③执行命令“#./configure”来配置cmake工具。
# ./configure

④编译cmake工具
在cmake配置完成后,会有如下提示:

之后,执行gmake命令,来进行编译工作,

# gmake

⑤检查上一条“gmake”命令是否执行成功。
[[email protected] cmake-2.8.8]# echo $?
0
解释:“echo $?”表示显示上一条命令执行的结果,若返回值为0,则表示上一条命令执行成功。

⑥安装cmake工具
# gmake install

⑦安装完成后,返回上一级目录
# cd ..

(2) 安装依赖包
1)安装ncurse-devel依赖包
yum install ncurse-devel -y

若yun无法安装,则去网上下载“ncurses-devel-5.7-3.20090208.el6.x86_64.rpm ”这个rpm包。

ncurses-devel-5.7-3.20090208.el6.x86_64.rpm的百度云盘分享:http://pan.baidu.com/s/1pJpDRCJ

3、创建mysql用户和mysql用户组
[[email protected] /]# groupadd mysql
[[email protected] /]# useradd mysql -s /sbin/nologin -M -g mysql
命令说明:
①“–s /sbin/nologin”:表示禁止该用户登录,加强安全。
②“–g mysql”:指定属于mysql组。
③“–M”:表示不创建用户家目录。

检查创建的用户
[[email protected] ~]# tail -1 /etc/passwd
mysql:x:500:500::/home/mysql:/sbin/nologin

注意:是参数是“数字1”,而不是字母“l”。

4、解压、编译和安装mysql软件(重要)
(0)创建mysql的安装目录
[[email protected] /]# mkdir –p /application/mysql-5.5.32

(1)在临时目录中,解压缩源码包:mysql-5.5.32.tar.gz
# tar –zxvf mysql-5.5.32 ./

(2)编译mysql
切换到解压缩后的mysql-5.5.32源码目录下,执行下列cmake命令,进行编译(重要)
注意01:下述cmake命令可以重复使用。
注意02:目录“/application/mysql-5.5.32”为用户自定义的“mysql安装目录”。
注意03:提示:编译时,可配置的选项有很多,具体可以参考结尾附录或者官方文档。
官方文档mysql5.1_chs.chm,2.8. 使用源码分发版安装MySQL

下述命令很重要,可以复用。

cmake . -DCMAKE_INSTALL_PREFIX=/application/mysql-5.5.32 -DMYSQL_DATADIR=/application/mysql-5.5.32/data -DMYSQL_UNIX_ADDR=/application/mysql-5.5.32/tmp/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DEXTRA_CHARSET=gbk,gb2312,utf8,ascii -DENABLED_LOCAL_INFILE=on -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_FEDERATED_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITHOUT_EXAMPL_ESTORAGE_ENGINE=1 -DWITHOUT_PARTITION_ESTORAGE_ENGINE=1 -DWITH_FAST_MUTEXES=1 -DWITH_ZLIB=bundled -DENABLED_LOCAL_INFILE=1 -DWITH_READLINE=1 -DWITH_ENBEDDED_SERVER=1 -DWITH_DEBUG=0

编译完成后,有如下提示:

-- Build files have been written to: /root/zj-tools/mysql-5.5.32
[[email protected] mysql-5.5.32]#

(3)安装mysql

# make && make install

如果上述安装过程中没有出错,则至此,就完成了MySql软件的安装。在安装完成之后,就会在根目录下出现一个“application”的文件夹,如下图所示。

(4)创建一个Link文件
# ln –s /application/mysql-5.5.32/ /application/mysql

(5)提醒的事项
至此,就完成了以编译源码的方式安装MySQL,安装完MySQL数据库后,还要进行各种配置,接下来就需要对MySql进行配置。
若要安装“多实例”MySQL数据库,则下列“配置、初始化单实例的MySQL数据文件和服务”笔记可以跳过去

5、配置、初始化单实例的MySQL数据文件和服务(单实例,重要)

5.1、查看默认模版配置文件
在MySql-5.5.32的源码安装目录下有一个文件夹“support-files”,MySQL常用的各种模版配置文件都在该目录下存放的。

[[email protected] mysql-5.5.32]# pwd
/root/zj-tools/mysql-5.5.32
[[email protected] mysql-5.5.32]# cd support-files/
[[email protected] support-files]# ls
binary-configure magic mysql-log-rotate.sh
binary-configure.sh Makefile mysql.m4
build-tags my-huge.cnf mysql-multi.server.sh
CMakeFiles my-huge.cnf.sh mysql.server
cmake_install.cmake my-innodb-heavy-4G.cnf mysql.server.sh
CMakeLists.txt my-innodb-heavy-4G.cnf.sh mysql.server-sys5.sh
compiler_warnings.supp my-large.cnf MySQL-shared-compat.spec
config.huge.ini my-large.cnf.sh MySQL-shared-compat.spec.sh
config.huge.ini.sh my-medium.cnf mysql.spec
config.medium.ini my-medium.cnf.sh mysql.spec.sh
config.medium.ini.sh my-small.cnf ndb-config-2-node.ini
config.small.ini my-small.cnf.sh ndb-config-2-node.ini.sh
config.small.ini.sh mysql.5.5.32.spec plugins.files
CTestTestfile.cmake mysqld_multi.server RHEL4-SElinux
dtrace mysqld_multi.server.sh
MacOSX mysql-log-rotate
[[email protected] support-files]#

5.2、选择配置文件

测试环境选择小的,生产环境可以根据硬件选择,例如:my-innodb-heavy-4G.cnf
下列命令将MySQL源目录下的配置文件拷贝到“/etc”目录下。

[[email protected] support-files]# cp my-small.cnf /etc/my.cnf
cp: overwrite `/etc/my.cnf‘? y
[[email protected] support-files]#

5.3、配置环境变量

# echo ‘export PATH=/application/mysql/bin:$PATH‘ >> /etc/profile
# tail -l /etc/profile
# source /etc/profile
# echo $PATH

此处注意:“/application/mysql/bin”路径与“$PATH”的先后顺序问题。
要将“/application/mysql/bin”放置在“$PATH”的前边,这样的话当使用mysql相关的命令时,就会先去寻找编译的MySql这个版本的命令。
因为,未来的生产系统中,有可能已经存在yum或者rpm方式安装的mysql,这样的话,当使用mysqldump等mysql命令时,会先去寻找已经存在的mysql命令。
即使用yum或者rpm安装的客户端会去连接“编译版本的”MySql服务端,从而造成驴头不对马嘴的错误。

故障案例:
由于“/application/mysql/bin”路径放置在“$PATH”后边,而出现的棘手错误案例:
http://oldboy.blog.51cto.com/2561410/1122867

5.4、初始化数据文件(容易出错的步骤)
# mkdir –p /application/mysql/data
创建mysql数据文件目录,若在安装mysql软件的过程中已经创建了,则不需要创建该目录。

修改数据文件所在目录的用户和用户组
# chown –R mysql:mysql /application/mysql/data

调整/tmp权限,否则初始化会错误。
# chmod –R 1777 /tmp

安装mysql数据库文件,注意命令路径:
mysql的初始化脚本
[[email protected] scripts]# ./mysql_install_db --basedir=/application/mysql --datadir=/application/mysql/data --user=mysql

特别提示:如果用mysql5.0,5.1,省略指定datadir会出错。
下列为初始化成功后,MySQL的一些自带信息,其中包括设置和修改MySql的用户密码等。

 1 WARNING: The host ‘centos65-mini‘ could not be looked up with resolveip.
 2 This probably means that your libc libraries are not 100 % compatible
 3 with this binary MySQL version. The MySQL daemon, mysqld, should work
 4 normally with the exception that host name resolving will not work.
 5 This means that you should use IP addresses instead of hostnames
 6 when specifying MySQL privileges !
 7 Installing MySQL system tables...
 8 OK
 9 Filling help tables...
10 OK
11
12 To start mysqld at boot time you have to copy
13 support-files/mysql.server to the right place for your system
14
15 PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !
16 To do so, start the server, then issue the following commands:
17
18 /application/mysql/bin/mysqladmin -u root password ‘new-password‘
19 /application/mysql/bin/mysqladmin -u root -h centos65-mini password ‘new-passwor                d‘
20
21 Alternatively you can run:
22 /application/mysql/bin/mysql_secure_installation
23
24 which will also give you the option of removing the test
25 databases and anonymous user created by default.  This is
26 strongly recommended for production servers.
27
28 See the manual for more instructions.
29
30 You can start the MySQL daemon with:
31 cd /application/mysql ; /application/mysql/bin/mysqld_safe &
32
33 You can test the MySQL daemon with mysql-test-run.pl
34 cd /application/mysql/mysql-test ; perl mysql-test-run.pl
35
36 Please report any problems with the /application/mysql/scripts/mysqlbug script!
37
38 [[email protected] scripts]#

【拓展】
WARNING: The host ‘centos65-mini‘ could not be looked up with resolveip.”
该警告信息对MySQL的功能不会造成影响,但是,可以通过以下设置来消除掉该警告。

原因:主机名与IP地址的映射问题。
解决方案:vim hosts,将本机的主机名添加到该文件中。

5.5、初始化并且配置MySql的服务mysqld
(1)配置MySQL的服务mysqld
进入MySql-5.5.32的源码安装目录下的文件夹“support-files”,将其中的“mysql.server”拷贝到目录“/etc/init.d/mysqld”下。
[[email protected] support-files]# cp mysql.server /etc/init.d/mysqld
[[email protected] support-files]#
[[email protected] support-files]# chmod +x /etc/init.d/mysqld
[[email protected] support-files]#

(2)启动MySQL服务器
[[email protected] support-files]# /etc/init.d/mysqld start
Starting MySQL.. SUCCESS!
[[email protected] support-files]#

(3)确认MySQL服务器是否启动成功:
[[email protected] support-files]# netstat -lntup | grep 3306
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 36586/mysqld
[[email protected] support-files]#

5.6、设置用户名和密码,并且登录MySql服务器
(1)设置MySql数据的用户名和密码
[[email protected] support-files]# /application/mysql/bin/mysqladmin -u root password ‘new-password‘
[[email protected] support-files]# /application/mysql/bin/mysqladmin -u root -h centos65-mini password ‘new-passwor d‘

(2)登录到MySQL数据库服务器
[[email protected] support-files]# mysql -uroot -pnew-password

至此,MySQL的基本配置完成。

时间: 2024-10-17 16:16:01

【MySQL】源码编译安装和配置MySql 5.5.32(单实例)的相关文章

MySQL源码编译安装(CentOS-6.6+MySQL-5.6)

MySQL源码编译安装(CentOS-6.6+MySQL-5.6) 部署环境 操作系统:CentOS-6.6-x86_64-bin-DVD1.iso MySQL版本:mysql-5.6.26.tar.gz 操作用户:root 系统IP:192.168.1.205 主机名:edu-mysql-01 配置:4核.4G内存 一.服务器配置: 1.配置网络 # vi /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0 BOOTPROTO=stati

MySQL源码编译安装

1.安装cmake-2.8.10.2.tar.gz 以root用户进入shell #tar -zxvf  cmake-2.8.10.2.tar.gz #cd cmake-2.8.10.2 #./configure #make                         (无法make,检测gcc编译环境) #make install --------------------------------- 2.安装ncurses-5.9.tar.gz #tar -zxvf  ncurses-5.9

MySQL 源码编译安装

脚本须知: 1. 该脚本目前只测试过mysql版本为5.6.x的源码,其他源码可以对本脚本稍作修改即可 2. 本脚本也可以使用wget mysql源码的方式进行,但考虑到后期提供源码的地址不可用,所以需要手动下载mysql 5.6.x的源码包并放入到/usr/local/src 3. 此脚本在编译安装过程中禁用了iptables和SElinux策略,如果你在使用iptalbes相关功能请先完成相关配置. 4. 该脚本主要是对此前尚未装过mysql的linux系统环境而写的,如果此前装过mysql

纯源码编译安装LAMP,linux,httpd,php,mysql源码编译安装

教程目标:使用源码编译安装的LAMP,运行php网页基础代码 日    期:2015年08月19日 联系邮箱:[email protected] Q Q  群:1851 15701 51CTO博客首页:http://990487026.blog.51cto.com做一个对读者负责的博主.安装一个和我一样的纯净系统,我可以安装成功,你也可以安装成功.我行,你也行!================================================================安装准备

CentOS 7上源码编译安装和配置LNMP Web+phpMyAdmin服务器环境

什么是LNMP? LNMP(别名LEMP)是指由Linux, Nginx, MySQL/MariaDB, PHP/Perl/Python组合成的动态Web应用程序和服务器,它是一组Web应用程序的基础软件包,在这个基础环境上我们可以搭建任何使用PHP/Perl/Python等语言的动态网站,如商务网站.博客.论坛和开源Web应用程序软件等,它是互联网上被广泛使用的Web网站架构之一. 部署方式 从网站规模大小(访问流量.注册用户等)角度来看,LNMP架构可以使用单机部署方式和集群部署方式.单机部

lnmp环境安装(3)-mysql源码编译安装

一.概述 MySQL是一个跨平台的开源关系型数据库管理系统,目前隶属于Oracle公司.MySQL被广泛地应用在Internet上的中小型网站中.由于其体积小.速度快.总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库. 本节采用mysql-5.6.16的源码进行mysql的安装. mysql的源码级别的安装要基于一个工具cmake来进行安装.CMake是一个跨平台的安装(编译)工具,可以用简单的语句来描述所有平台的安装(编译过程) 以

centos下mysql源码编译安装和主备异步配置

安装机器:10.11.1.193.10.11.1.194 主备同步方式:异步同步 mysql版本:mysql community5.6.28 下载源码并解压: tar -zxf mysql-5.6.28.tar.gz cmake安装: 安装编译所需环境: sudo yum install make gcc-c++ cmake bison-develncurses-devel libaio libaio-devel net-tools perl 编译安装mysql cmake-DCMAKE_INS

高可用架构篇 MySQL源码编译安装(CentOS-6.6+MySQL-5.6)

具体操作参考视频教程:http://www.roncoo.com/course/view/85d6008fe77c4199b0cdd2885eaeee53 部署环境 操作系统:CentOS-6.6-x86_64-bin-DVD1.iso MySQL版本:mysql-5.6.26.tar.gz 操作用户:root 系统IP:192.168.1.205 主机名:edu-mysql-01 配置:4核.4G内存 一.服务器配置: 1.配置网络 # vi /etc/sysconfig/network-sc

Apache2.2.17源码编译安装以及配置虚拟主机

WEB服务(一) 理论部分: Apache服务主要是多个服务的组合,名称来自于A Patchy Server 意思是基于原有的WEB程序的代码修改(补丁)后形成的服务器程序 1995年发布第一个版本1.0一直有Apache Group负责该项目的维护和管理1999年成立了Apache的软件基金会官方网站是http://www.apache.org/ ASF是非盈利性组织,Apache HTTP Server 就是旗下最著名的软件项目之一 跨平台应用(支持多数操作系统) 支持多字符集 Apache