1.准备工作
(1.)为了避免发生端口冲突、程序冲突等现象,建议先查询MySQL软件的安装情况。确认没有使用以rpm方式安装的mysql-server、mysql软件包,否则建议将其卸载。
[root@kang ~]# rpm -q mysql-server mysql
package mysql-server is not installed
package mysql is not installed
[root@kang ~]#
(2.)MySQL5.5需要cmake编译安装,所以先安装cmake包。
[root@kang ~]# tar zxf cmake-2.8.12.tar.gz
[root@kang ~]# cd cmake-2.8.12/
[root@kang cmake-2.8.12]# ./configure
安装出现如下错误 (参考链接:https://blog.youkuaiyun.com/wzq6578702/article/details/52848641)

意思是:缺少C++编译器。
安装gcc-c++编译器
可以从Linux系统的安装盘中安装,或者简单地用yum安装
[root@localhost ~]# yum install gcc-c++
重复上面的操作
[root@localhost cmake-2.8.4]# ./bootstrap
出现如下图这个说明安装cmake成功

然后编译cmake
[root@kang cmake-2.8.12]# make && make install
编译过程如下



2.源码编译及安装
(1.)创建运行用户
为了加强数据库服务的权限控制,建议使用专门的运行用户,如mysql。此用户不需要直接登录到系统,可以不创建宿主文件夹
[root@kang ~]# groupadd mysql
[root@kang ~]# useradd -M -s /sbin/nologin mysql -g mysql
(2.)解包
[root@kang ~]# tar zxf mysql-5.5.38.tar.gz -C /usr/src/
[root@kang ~]# cd /usr/src/mysql-5.5.38/
(3.)配置
[root@kang mysql-5.5.38]# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
> -DSYSCONFDIR=/etc \
> -DDEFAULT_CHARSET=utf8 \
> -DDEFAULT_COLLATION=utf8_general_ci \
> -DWITH_EXTRA_CHARSETS=all
出现如下错误

解决办法
[root@localhost mysql-5.5.11]# rm CMakeCache.txt
[root@localhost mysql-5.5.11]# yum install ncurses-devel
然后再次执行
[root@kang mysql-5.5.38]# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
> -DSYSCONFDIR=/etc \
> -DDEFAULT_CHARSET=utf8 \
> -DDEFAULT_COLLATION=utf8_general_ci \
> -DWITH_EXTRA_CHARSETS=all

出现这个问题
Bison executable not found in PATH
解决办法(切换到mysql目录下)参考链接(https://blog.youkuaiyun.com/anly95/article/details/52895527)
[root@Anly mysql]# yum install bison
再次执行
[root@kang mysql-5.5.38]# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
> -DSYSCONFDIR=/etc \
> -DDEFAULT_CHARSET=utf8 \
> -DDEFAULT_COLLATION=utf8_general_ci \
> -DWITH_EXTRA_CHARSETS=all

没有问题了。
编译
[root@kang cmake-2.8.12]# make && make install

上述配置命令中,各选项的含义如下。
-DCMAKE_INSTALL_PREFIX:指定将mysql数据库程序安装到某目录下,如目录/usr/local/mysql。
-DSYSCONFDIR:指定初始化参数文件目录。
-DDEFAULT_CHARSET:指定默认使用的字符集编码,如utf8。
-DDEFAULT_COLLATION:指定默认使用的字符集校对规则,utf8_general_ci是适用于UTF-8字符集的通用规则。
-DWITH_EXTRA_CHARSETS:指定额外支持的其他字符集编码。
注意:utf8不等于utf-8,不要写错了,否则后面安装失败。原文链接出现错误(❌utf8-general_ci,这是错误的,utf8与general之间的符号是英文状态下的连字符 '-' ,不是下划线'_')
3.安装后的其他调整
(1.)对数据库目录进行权限设置
[root@kang ~]# chown -R mysql:mysql /usr/local/mysql/
(2.)建立配置文件
[root@kang mysql-5.5.38]# rm -rf /etc/my.cnf
[root@kang mysql-5.5.38]# cp support-files/my-medium.cnf /etc/my.cnf
(3.)初始化数据库
[root@kang mysql-5.5.38]# /usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data/


注意安装的时候要和以上两图要差不多,
在Installing MySQL system tables...
ok
Filling help tables...
ok
之间如果出现【note】可以忽略
(4.)设置环境变量
[root@kang mysql-5.5.38]# echo "PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile
[root@kang mysql-5.5.38]# . /etc/profile
4.添加系统服务
[root@kang mysql-5.5.38]# cp support-files/mysql.server /etc/rc.d/init.d/mysqld
[root@kang mysql-5.5.38]# chmod +x /etc/rc.d/init.d/mysqld
[root@kang mysql-5.5.38]# chkconfig --add mysqld
(1.)查看数据库是否启动
查询进程
ps -ef | grep mysqld
如果有mysqld_safe和mysqld两个进程,说明MySQL服务当前在启动状态;

(2.)给数据库设置密码
[root@kang ~]# mysqladmin -u root -p password '123456'
![]()
注意:出现Enter password 直接回车,不要输入任何密码包括123456,否则出现问题
然后输入
mysql | uroot -p
回车出现Enter password ,这次需要输入密码为123456,如果不输入密码或者输入错误会报错。

出现mysql>说明安装成功,到此MySQL安装完毕
本文详细介绍MySQL5.5从源码编译安装的全过程,包括准备环境、配置、编译、安装及后期调整等步骤,确保数据库服务稳定运行。
6462

被折叠的 条评论
为什么被折叠?



