MySQL5.5.52编译安装

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS PostgreSQL,集群系列 2核4GB
简介:

一、MySQL介绍
MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下公司。MySQL 最流行的关系型数据库管理系统,在 WEB 应用方面MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。
MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。
MySQL所使用的 SQL 语言是用于访问数据库的最常用标准化语言。MySQL 软件采用了双授权政策,它分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择 MySQL 作为网站数据库。

二、MySQL的版本选择
技巧1.选择版本GA版本,Development版本、Alpha版本和Beta版本一般不用在项目中。因为它们肯定存在重大的问题或某些功能未完全实现。
技巧2.选择GA版本,不要选择最新,一般选择前3-4个版本或10个月前的版本。
技巧3.查看官方说明,没有重大bug更新的版本

三、安装介绍
MySQL从5.3开始使用cmake的安装方式。
本次版本选择用户量最多的MySQL5.5系列,分别给出本次需要的5.5.52和最新版的下载地址
MySQL5.5系下载地址
http://dev.mysql.com/downloads/mysql/5.5.html#downloads

四、安装前准备
当前系统

1
2
3
4
5
6
7
8
[root@db01 ~] # cat /etc/redhat-release 
CentOS release 6.8 (Final)
[root@db01 ~] # uname -r
2.6.32-642.el6.x86_64
[root@db01 ~] # uname -m
x86_64
[root@db01 ~] # uname -n
db01

1、上传所需要的MySQL编译安装包
可以使用rz,ftp等工具上传至指定目录;
演示: 我的存放/server/tools目录下

1
2
3
4
5
6
7
8
9
10
11
[root@db01 ~] # mkdir -p /server/tools
[root@db01 ~] # cd /server/tools
[root@db01 tools] # rz
rz waiting to receive.
Starting zmodem transfer.  Press Ctrl+C to cancel.
Transferring mysql-5.5.52. tar .gz...
   100%   20539 KB    20539 KB /sec     00:00:01       0 Errors  
[root@db01 tools]
[root@db01 tools] # ll
总用量 20540
-rw-r--r-- 1 root root 21032776 8月  26 17:32 mysql-5.5.52. tar .gz

2、安装cmake工具
MySQL从5.3开始使用cmake工具安装
cmake工具地址https://cmake.org/files/v3.5/cmake-3.5.2.tar.gz
演示:
1)下载工具

1
2
3
4
5
[root@db01 tools] # pwd
/server/tools
[root@db01 tools] # wget https://cmake.org/files/v3.5/cmake-3.5.2.tar.gz 
[root@db01 tools] # ls -l cmake-3.5.2.tar.gz 
-rw-r--r-- 1 root root 6863498 4月  16 01:40 cmake-3.5.2. tar .gz

2)解压cmake3.5.2

1
2
3
[root@db01 tools] # tar xf cmake-3.5.2.tar.gz 
[root@db01 tools] # ls -ld cmake-3.5.2
drwxr-xr-x 11 root root 4096 4月  27 09:45 cmake-3.5.2

3)安装cmake3.5.2

1
2
3
4
5
[root@db01 tools] # cd cmake-3.5.2
[root@db01 cmake-3.5.2] # ./configure 
[root@db01 cmake-3.5.2] # gmake
[root@db01 cmake-3.5.2] # gmake install
[root@db01 cmake-3.5.2] # cd ../

PS:如果嫌弃麻烦那么 yum安装也可以(yum install -y cmake)

1
[root@db01 tools] # yum install -y cmake


3、安装ncurses-devel依赖
ncurses,计算机语言,指的是提供字符终端处理库。

1
[root@db01 tools] # yum install -y ncurses-devel


4、安装MySQL
1)创建用户和组

1
2
3
[root@db01 tools] # useradd -Ms /sbin/nologin mysql
[root@db01 tools] # id mysql
uid=501(mysql) gid=501(mysql) 组=501(mysql)

2)解压编译安装

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
[root@db01 tools] # tar xf mysql-5.5.52.tar.gz 
[root@db01 tools] # cd mysql-5.5.52
[root@db01 mysql-5.5.52] # cmake . \
-DCMAKE_INSTALL_PREFIX= /application/mysql-5 .5.52 \
-DMYSQL_DATADIR= /application/mysql-5 .5.52 /data  \
-DMYSQL_UNIX_ADDR= /application/mysql-5 .5.52 /tmp/mysql .sock \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DEXTRA_CHARSETS=gbk,gb2312,utf8,ascii \
-DENABLED_LOCAL_INFILE=ON \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_FEDERATED_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 \
-DWITHOUT_PARTITION_STORAGE_ENGINE=1 \
-DWITH_FAST_MUTEXES=1 \
-DWITH_ZLIB=bundled \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_READLINE=1 \
-DWITH_EMBEDDED_SERVER=1 \
-DWITH_DEBUG=0
………………………省略……………………………
oaded-virtual -Wno-unused-parameter
-- CMAKE_C_FLAGS_RELWITHDEBINFO: -O2 -g -DNDEBUG -DDBUG_OFF -DMY_PTHREAD_FASTMUTEX=1
-- CMAKE_CXX_FLAGS_RELWITHDEBINFO: -O2 -g -DNDEBUG -DDBUG_OFF -DMY_PTHREAD_FASTMUTEX=1
-- Configuring  done
-- Generating  done
-- Build files have been written to:  /server/tools/mysql-5 .5.52 
[root@db01 mysql-5.5.52] # echo $?
0

<==显示如上结果配置成功

参数解释解释:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
cmake . \
-DCMAKE_INSTALL_PREFIX= /application/mysql-5 .5.52 \  #指定安装目录
-DMYSQL_DATADIR= /application/mysql-5 .5.52 /data  \   #指定数据存放目录(重要)
-DMYSQL_UNIX_ADDR= /application/mysql-5 .5.52 /tmp/mysql .sock \  #指定sock的路径
-DDEFAULT_CHARSET=utf8 \                     #指定默认字符集
-DDEFAULT_COLLATION=utf8_general_ci \         #指定校准字符集编码
-DEXTRA_CHARSETS=gbk,gb2312,utf8,ascii \     #安装所需字符集
-DENABLED_LOCAL_INFILE=ON \                     #启用加载本地数据
-DWITH_INNOBASE_STORAGE_ENGINE=1 \             #支持innode储存引擎
-DWITH_FEDERATED_STORAGE_ENGINE=1 \             #支持federated引擎
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \          #支持黑洞储存引擎
-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 \
-DWITHOUT_PARTITION_STORAGE_ENGINE=1 \         #安装支持数据库分区
-DWITH_FAST_MUTEXES=1 \
-DWITH_ZLIB=bundled \                         #zlib压缩模式
-DENABLED_LOCAL_INFILE=1 \
-DWITH_READLINE=1 \
-DWITH_EMBEDDED_SERVER=1 \
-DWITH_DEBUG=0                                 #禁用debug,开启影响性能

提示,编译时可配置的选项很多,具体可参考结尾官方文档
3)编译安装

1
2
3
4
5
6
7
8
9
10
11
12
13
[root@db01 mysql-5.5.52] # make
………………………省略……………………………
[100%] Built target my_safe_process
[root@db01 mysql-5.5.52] # echo $?
0
<==编译成功
[root@db01 mysql-5.5.52] # make install
………………………省略……………………………
-- Installing:  /application/mysql-5 .5.52 /man/man1/mysqlslap .1
-- Installing:  /application/mysql-5 .5.52 /man/man8/mysqld .8
[root@db01 mysql-5.5.52] # echo $?
0
<==安装成功

如果上述操作未出现错误,则MySQL5.5.52软件cmake方式的安装就算成功了
4)创建软连接,去除版本号

1
[root@db01 mysql-5.5.52] # ln -s /application/mysql-5.5.52/ /application/mysql

5、复制MySQL配置文件到/etc目录下

1
[root@db01 mysql-5.5.52] # \cp /application/mysql/support-files/my-small.cnf /etc/my.cnf

6、配置环境变量

1
2
3
4
5
6
[root@db01 mysql-5.5.52] # echo 'export PATH=/application/mysql/bin:$PATH' >>/etc/profile
[root@db01 mysql-5.5.52] # tail -1 /etc/profile
export  PATH= /application/mysql/bin :$PATH
[root@db01 mysql-5.5.52] # source /etc/profile
[root@db01 mysql-5.5.52] # echo $PATH
/application/mysql/bin : /usr/local/sbin : /usr/local/bin : /sbin : /bin : /usr/sbin : /usr/bin : /root/bin

7、赋予目录用户组

1
[root@db01 mysql-5.5.52] # chown -R mysql.mysql /application/mysql/

8、执行数据库初始化脚本

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
[root@db01 mysql-5.5.52] # cd /application/mysql/scripts/
[root@db01 scripts] # ./mysql_install_db \
> --basedir= /application/mysql-5 .5.52 \
> --datadir= /application/mysql-5 .5.52 /data  \
> --user=mysql
Installing MySQL system tables...
161210 15:00:47 [Note]  /application/mysql-5 .5.52 /bin/mysqld  (mysqld 5.5.52) starting as process 21047 ...
OK
Filling help tables...
161210 15:00:48 [Note]  /application/mysql-5 .5.52 /bin/mysqld  (mysqld 5.5.52) starting as process 21054 ...
OK
To start mysqld at boot  time  you have to copy
support-files /mysql .server to the right place  for  your system
PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !
To  do  so, start the server,  then  issue the following commands:
/application/mysql-5 .5.52 /bin/mysqladmin  -u root password  'new-password'
/application/mysql-5 .5.52 /bin/mysqladmin  -u root -h db01 password  'new-password'
Alternatively you can run:
/application/mysql-5 .5.52 /bin/mysql_secure_installation
which  will also give you the option of removing the  test
databases and anonymous user created by default.  This is
strongly recommended  for  production servers.
See the manual  for  more  instructions.
You can start the MySQL daemon with:
cd  /application/mysql-5 .5.52 ;  /application/mysql-5 .5.52 /bin/mysqld_safe  &
You can  test  the MySQL daemon with mysql- test -run.pl
cd  /application/mysql-5 .5.52 /mysql-test  ; perl mysql- test -run.pl
Please report any problems at http: //bugs .mysql.com/

上面有两个OK就表示初始化数据库完成
9、配置启动MySQL

1
2
3
4
5
6
[root@db01 scripts] # cd 
[root@db01 ~] # cp /application/mysql/support-files/mysql.server /etc/init.d/mysqld
[root@db01 ~] # chmod +x /etc/init.d/mysqld
[root@db01 ~] # sed -i 's#/usr/local/mysql#/application/mysql#g' /application/mysql/bin/mysqld_safe /etc/init.d/mysqld
[root@db01 ~] # /etc/init.d/mysqld start
Starting MySQL... SUCCESS!

启动报错

1
#/etc/init.d/mysqld start

(1)启动文件保存

1
2
/etc/init .d /mysqld : line 276:  cd /usr/local/mysql : 没有那个文件或目录
Starting MySQL ERROR! Couldn't  find  MySQL server ( /usr/local/mysql/bin/mysqld_safe )

解决:

1
sed  -i  's#/usr/local/mysql#/application/mysql#g'  /application/mysql/bin/mysqld_safe  /etc/init .d /mysqld

(2)MySQL启动报错

1
2
3
4
/etc/init .d /mysqld  start
报错:
[root@mysql mysql] # /etc/init.d/mysqld start
Starting MySQL.. ERROR! The server quit without updating PID  file  ( /var/lib/mysql/mysql .pid).

问题所在:mysql初始化出错
解决:
1.清空数据data目录

1
rm  -f  /application/mysql/data/ *

2.重新初始化mysql

1
/application/mysql/scripts/mysql_install_db  --user=mysql --basedir= /application/mysql  --datadir= /application/mysql/data/

3.接着从初始化步骤后的步骤重新操作

1
netstat  -lntup| grep  mysql

10、加入开机自启动

1
2
3
[root@db01 ~] # chkconfig mysqld on
[root@db01 ~] # chkconfig --list mysqld
mysqld          0:关闭  1:关闭  2:启用  3:启用  4:启用  5:启用  6:关闭

11、检查端口

1
2
[root@db01 ~] # netstat -lntup | grep 3306
tcp        0      0 0.0.0.0:3306                0.0.0.0:*                   LISTEN      21333 /mysqld

到这里MySQL数据库就安装完毕啦     O(∩_∩)O~~!!!


本文转自 炫维 51CTO博客,原文链接:http://blog.51cto.com/xuanwei/1881478


相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
12天前
|
关系型数据库 MySQL PHP
源码编译安装LAMP(HTTP服务,MYSQL ,PHP,以及bbs论坛)
通过以上步骤,你可以成功地在一台Linux服务器上从源码编译并安装LAMP环境,并配置一个BBS论坛(Discuz!)。这些步骤涵盖了从安装依赖、下载源代码、配置编译到安装完成的所有细节。每个命令的解释确保了过程的透明度,使即使是非专业人士也能够理解整个流程。
43 18
|
5月前
|
安全 关系型数据库 MySQL
Linux下安装mysql8.0(以tar.xz包安装--编译安装)
通过上述步骤,您完成了从下载、编译、安装到配置MySQL 8.0的全过程。此过程虽然较为复杂,但提供了对MySQL安装环境的完全控制,有助于满足特定的部署需求。在实际操作中,根据具体的系统环境,可能还需调整部分步骤或解决未预见的依赖问题。始终参考官方文档和社区资源,保持安装过程与最新版本的兼容性。
2137 67
|
4月前
|
关系型数据库 MySQL Linux
在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,并与使用 RPM 包安装进行了对比
本文介绍了在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,并与使用 RPM 包安装进行了对比。通过具体案例,读者可以了解如何准备环境、下载源码、编译安装、配置服务及登录 MySQL。编译源码安装虽然复杂,但提供了更高的定制性和灵活性,适用于需要高度定制的场景。
266 3
|
4月前
|
关系型数据库 MySQL Linux
在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,包括准备工作、下载源码、编译安装、配置 MySQL 服务、登录设置等。
本文介绍了在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,包括准备工作、下载源码、编译安装、配置 MySQL 服务、登录设置等。同时,文章还对比了编译源码安装与使用 RPM 包安装的优缺点,帮助读者根据需求选择最合适的方法。通过具体案例,展示了编译源码安装的灵活性和定制性。
429 2
|
Ubuntu 安全 关系型数据库
百度搜索:蓝易云【Ubuntu 18.04系统编译安装MySQL 5.7教程。】
现在,您已经成功地在Ubuntu 18.04上编译和安装了MySQL 5.7。请注意,这只是基本的安装过程,您可能需要进一步配置和保护您的MySQL实例。确保在实际操作中根据您的需求进行适当的配置和调整,并设置安全的密码策略。
165 0
|
5月前
|
关系型数据库 MySQL Linux
在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤
本文介绍了在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,包括准备工作、下载源码、编译安装、配置服务等,并与使用 RPM 包安装进行了对比,帮助读者根据需求选择合适的方法。编译源码安装虽然复杂,但提供了更高的定制性和灵活性。
348 2
|
5月前
|
关系型数据库 MySQL Linux
在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤
【10月更文挑战第7天】本文介绍了在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,包括准备工作、下载源码、编译安装、配置 MySQL 服务、登录设置等。同时,文章还对比了编译源码安装与使用 RPM 包安装的优缺点,帮助读者根据自身需求选择合适的方法。
131 3
|
7月前
|
关系型数据库 MySQL Linux
【一键解锁神秘力量!】CentOS 7 通过编译源码方式安装 MySQL 数据库 —— 从零到英雄的数据库安装实战秘籍!
【8月更文挑战第9天】随着业务增长,对数据库的需求日益提高。在 CentOS 7 中,通过编译源码安装 MySQL 可提供更高定制性和灵活性。本文详细介绍从准备环境、下载源码、配置编译参数到安装 MySQL 的全过程,并对比 RPM 包安装方法,帮助读者根据需求选择合适方案。实践时需注意备份数据、选择合适版本、确保安全性和调优性能等要点。
267 1
|
10月前
|
关系型数据库 MySQL Linux
MySQL免编译安装和用户管理(转)
MySQL免编译安装和用户管理(转)
50 1
|
9月前
|
关系型数据库 MySQL Linux
centos linux mysql 5.5脚本全自动源码包 编译安装
centos linux mysql 5.5脚本全自动源码包 编译安装
85 0