centos下编译安装mysql5.6

本文详细介绍如何在CentOS系统中通过源码安装MySQL 5.6版本,包括所需库文件的安装、源码编译配置、安装步骤、配置流程及常见问题解决方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

准备工作:
安装前约定把源文件放在  /usr/src/数据名(如/usr/src/mysql);
      数据安装在 /usr/local/数据名下(如/usr/local/mysql);
创建用户和组:
groupadd mysql #添加mysql组 
useradd -g mysql mysql 
1.安装好所需的库文件!在centos中使用yum命令安装!
yum -y install   gcc gcc-c   gcc-g77 autoconf automake zlib* fiex* libxml* ncurses-devel libmcrypt*  libtool-ltdl-devel*  make cmake
2.下载mysql和cmake(
下载链接为:
http://cdn.mysql.com/Downloads/MySQL-5.6/mysql-5.6.11.tar.gz
http://www.cmake.org/files/v2.8/cmake-2.8.10.2.tar.gz

(注:cmake可以编译安装!安装步骤如下!
安装cmake 
cd /usr/src 
tar -zxvf cmake-2.8.8.tar.gz 
cd cmake-2.8.8 
./configure (有的是./bootstrap)
make #编译 
make install #安装 )
3.进入文件目录 cd /usr/src/mysql
tar -zxvf mysql-5.6.11.tar.gz
cd mysql-5.6.11
cmake .  #运行cmake进行配置编译(也可以不默认安装,直接进行配置
                        cmake . \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DMYSQL_DATADIR=/data/mysqldb \
-DMYSQL_TCP_PORT=3306 \
-DENABLE_DOWNLOADS=1

从mysql5.5起,mysql源码安装开始使用cmake了,设置源码编译配置脚本。
{
-DCMAKE_INSTALL_PREFIX=dir_name    设置mysql安装目录       
-DMYSQL_UNIX_ADDR=file_name    设置监听套接字路径,这必须是一个绝对路径名。默认为/tmp/mysql.sock的中。       
-DDEFAULT_CHARSET=charset_name    设置服务器的字符集。缺省情况下,MySQL使用latin1的(CP1252西欧)字符集。
cmake/character_sets.cmake文件包含允许的字符集名称列表。       
-DDEFAULT_COLLATION=collation_name    设置服务器的排序规则。       
-DWITH_INNOBASE_STORAGE_ENGINE=1
-DWITH_ARCHIVE_STORAGE_ENGINE=1
-DWITH_BLACKHOLE_STORAGE_ENGINE=1
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1    存储引擎选项:
MyISAM,MERGE,MEMORY,和CSV引擎是默认编译到服务器中,并不需要明确地安装。
静态编译一个存储引擎到服务器,使用-DWITH_engine_STORAGE_ENGINE= 1。
可用的存储引擎值有:ARCHIVE, BLACKHOLE, EXAMPLE, FEDERATED, INNOBASE (InnoDB),   PARTITION (partitioning support), 和 PERFSCHEMA (Performance Schema).       
-DMYSQL_DATADIR=dir_name    设置mysql数据库文件目录       
-DMYSQL_TCP_PORT=port_num    设置mysql服务器监听端口,默认为3306       
-DENABLE_DOWNLOADS=bool    是否要下载可选的文件。例如,启用此选项(设置为1),cmake将下载谷歌所使用的测试套件运行单元测试。     }
4. make && make install
编译安装完成后,默认的安装目录是**************/usr/local/mysql*************
5.设置数据目录权限
chown -R mysql.mysql /usr/local/mysql
6.进行mysql的配置
cd  /usr/local/mysql/scripts
./mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
cd  /usr/local/mysql/support-files
cp mysql.server  /etc/rc.d/init.d/mysqld
cp my-default.cnf  /etc/my.cnf
chkconfig --add mysql
chkconfig mysql on


service mysql start
7.继续进行配置
vi /etc/my.cnf #编辑配置文件,在 [mysqld] 部分增加下面一行 
datadir = /usr/local/mysql/data #添加MySQL数据库路径 
:wq! #保存退出 
chmod 755 /etc/init.d/mysqld #增加执行权限 
vi /etc/rc.d/init.d/mysqld #编辑 
basedir = /usr/local/mysql #MySQL程序安装路径 
datadir = /usr/local/mysql/data #MySQl数据库存放目录 
service mysqld start #启劢 
vi /etc/profile #把mysql服务加入系统环境变量:在最后添加下面这一行 
export PATH=$PATH:/usr/local/mysql/bin 
:wq! #保存退出 
下面这两行把myslq的库文件链接到系统默认的位置,这样你在编译类似PHP等软件时可以使用指定mysql的库文件地址。 
ln -s /usr/local/mysql/lib/mysql /usr/lib/mysql 
ln -s /usr/local/mysql/include/mysql /usr/include/mysql 
reboot  #需要重启系统,等待系统重新启劢之后继续在终端命令行下面操作 
mysql_secure_installation #设置Mysql密码 
根据提示按Y 回车 
然后输入2次密码 
继续按Y 回车,直到设置完成 
或者直接修改密码/usr/local/mysql/bin/mysqladmin -u root -p password "123456" #修改密码 
service mysqld restart #重启 
到此,mysql安装完成! 
注:启动错误:
Starting MySQL..The server quit without updating PID file ([FAILED]/mysql/Server03.mylinux.com.pid).
解决方式:
修改/etc/my.cnf 中datadir,指向正确的mysql数据库文件目录

### 编译安装 MySQL 5.6 #### 准备工作 为了确保环境适合编译安装 MySQL 5.6,在开始之前需要更新系统软件包到最新版本[^2]。 ```bash sudo yum update -y ``` 接着,安装一些必要的开发工具和依赖项来支持后续的编译过程: ```bash sudo yum groupinstall "Development Tools" -y sudo yum install cmake ncurses-devel bison openssl-devel perl wget -y ``` 对于特定于 MySQL 的构建需求,还需要额外安装 SCL 工具集以便更好地管理不同版本间的兼容性问题[^4]: ```bash sudo yum install centos-release-scl scl-utils-build -y ``` #### 下载源码 前往官方下载页面获取对应版本的 MySQL 源代码压缩文件。这里假设已经找到了适用于 CentOS 7.x 平台下的 tarball 文件 `mysql-5.6.xx.tar.gz`: ```bash cd /usr/local/src/ wget https://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.48.tar.gz tar zxvf mysql-5.6.48.tar.gz cd mysql-5.6.48 ``` 注意:实际操作时应替换为最新的稳定版号。 #### 构建与安装 创建一个新的用户用于运行 mysqld 进程,并设置合适的权限给数据目录 `/var/lib/mysql` 和日志路径 `/var/log/mysqld.log` : ```bash groupadd mysql useradd -r -g mysql mysql mkdir -p /data/mysql/{data,tmp} chown -R mysql:mysql /data/mysql chmod 750 /data/mysql touch /var/log/mysqld.log chown mysql:mysql /var/log/mysqld.log ``` 使用 CMake 来配置编译选项,指定安装位置和其他参数。此步骤非常重要因为它决定了最终生成的应用程序的行为特性: ```bash cmake . \ -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ -DMYSQL_DATADIR=/data/mysql/data \ -DSYSCONFDIR=/etc \ -DWITH_INNOBASE_STORAGE_ENGINE=1 \ -DWITH_PARTITION_STORAGE_ENGINE=1 \ -DDEFAULT_CHARSET=utf8mb4 \ -DDEFAULT_COLLATION=utf8mb4_general_ci \ -DEXTRA_CHARSETS=all \ -DENABLED_LOCAL_INFILE=1 \ -DWITH_READLINE=1 \ -DWITH_SSL=bundled \ -DWITH_ZLIB=bundled \ -DDOWNLOAD_BOOST=1 \ -DWITH_BOOST=/usr/local/src/mysql-5.6.48/boost ``` 执行上述命令后等待其完成初始化检查;如果一切正常,则可以继续进行编译链接阶段: ```bash make && make install ``` #### 初始化数据库实例 首次启动前需先初始化默认的数据表结构体及其他必要资源: ```bash /usr/local/mysql/scripts/mysql_install_db --user=mysql ``` #### 设置服务脚本 为了让 MySQL 能够随操作系统自动启停,还需复制提供的 init.d 启动脚本至相应的位置,并调整其中涉及的服务名及路径变量以匹配当前部署情况: ```bash cp support-files/mysql.server /etc/init.d/mysqld sed -i 's/^basedir=$/basedir=\/usr\/local\/mysql/' /etc/init.d/mysqld sed -i 's/^datadir=$/datadir=\/data\/mysql\/data/' /etc/init.d/mysqld chkconfig --add mysqld service mysqld start ``` 最后一步就是验证新安装服务状态是否健康在线: ```bash netstat -tlnp | grep :3306 ps aux|grep mysqld_safe ``` 以上即完成了基于源码方式在 CentOS 7.9 上手动编译安装 MySQL 5.6 的全过程描述[^1].
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值