`

源码编译安装 MySQL 5.5.x 实践

 
阅读更多

1.安装cmake
MySQL从5.5版本开始,通过./configure进行编译配置方式已经被取消,取而代之的是cmake工具。
因此,我们首先要在系统中源码编译安装cmake工具。

# wget http://www.cmake.org/files/v2.8/cmake-2.8.4.tar.gz

# tar zxvf cmake-2.8.4.tar.gz

# cd cmake-2.8.4

# ./configure
# make
# make install

2.确保以下所需系统软件包已经被安装
通过 rpm -qa | grep name 的方式验证以下软件包是否已全部安装。
gcc* gcc-c++* autoconf* automake* zlib* libxml* ncurses-devel* libgcrypt* libtool*

如果缺少相关的软件包,可通过yum -y install 的方式在线安装,或直接从系统安装光盘中找到并通过rpm -ivh 的方式安装。

3. 安装前的系统设置
建立mysql安装目录及数据存放目录
# mkdir /opt/mysql
# mkdir /opt/mysql/data

创建用户和用户组
# groupadd mysql
# useradd -g mysql mysql

赋予数据存放目录权限
# chown mysql:mysql -R /opt/mysql/data

4.从configure更换为cmake
我相信大多数人都已经习惯了之前的configure方式,并且所使用的参数也是比较个性化的,换成cmake之后,这一方面会带来不少的麻烦。
还好,MySQL的官方网站提供了二者的参数对照表,我们可以尽可能的保留之前的参数,来编译配置新的MySQL版本。

configure 与 cmake 参数对照指南:
http://forge.mysql.com/wiki/Autotools_to_CMake_Transition_Guide

以我自己为例,之前我一直使用的参数为:
./configure --prefix=/opt/mysql/ \
--sysconfdir=/opt/mysql/etc \
--localstatedir=/opt/mysql/data \
--with-tcp-port=3306 \
--with-unix-socket-path=/tmp/mysqld.sock \
--with-mysqld-user=mysql \
--enable-assembler \
--with-extra-charsets=all \
--enable-thread-safe-client \
--with-big-tables \
--with-readline \
--with-ssl \
--with-embedded-server \
--enable-local-infile \
--with-plugins=partition,innobase,myisammrg

经过与cmake的参数对照之后,去除掉已经被取消的参数(大多数是因为新版本已经默认启用),cmake的参数配置如下:
cmake -DCMAKE_INSTALL_PREFIX=/opt/mysql \
-DSYSCONFDIR=/opt/mysql/etc \
-DMYSQL_DATADIR=/opt/mysql/data \
-DMYSQL_TCP_PORT=3306 \
-DMYSQL_UNIX_ADDR=/tmp/mysqld.sock \
-DMYSQL_USER=mysql \
-DEXTRA_CHARSETS=all \
-DWITH_READLINE=1 \
-DWITH_SSL=system \
-DWITH_EMBEDDED_SERVER=1 \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1

5.编译安装 MySQL 5.5.x
通过http://www.mysql.com/downloads/mysql官方网址或国内的sohu镜像下载软件包,如目前最新的MySQL 5.5.13。
# wget http://mirrors.sohu.com/mysql/MySQL-5.5/mysql-5.5.13.tar.gz

# tar zxvf mysql-5.5.13.tar.gz

# cd mysql-5.5.13
# cmake -DCMAKE_INSTALL_PREFIX=/opt/mysql \
-DSYSCONFDIR=/opt/mysql/etc \
-DMYSQL_DATADIR=/opt/mysql/data \
-DMYSQL_TCP_PORT=3306 \
-DMYSQL_UNIX_ADDR=/tmp/mysqld.sock \
-DMYSQL_USER=mysql \
-DEXTRA_CHARSETS=all \
-DWITH_READLINE=1 \
-DWITH_SSL=system \
-DWITH_EMBEDDED_SERVER=1 \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1

# make
# make install

在make与make install的时候可以看到进度百分比,感觉这一点要比configure方式要好。

6.配置并初始化数据库
创建my.cnf配置文件
# mkdir /opt/mysql/log

# mkdir /opt/mysql/etc
# cp support-files/my-medium.cnf /opt/mysql/etc/my.cnf

初始化数据库
执行前需赋给scripts/mysql_install_db文件执行权限
# chmod 755 scripts/mysql_install_db
# scripts/mysql_install_db --user=mysql --basedir=/opt/mysql/ --datadir=/opt/mysql/data/

创建管理MySQL数据库的shell脚本
# mkdir /opt/mysql/init.d
# cp support-files/mysql.server /opt/mysql/init.d/mysql

赋予shell脚本可执行权限:
# chmod +x /opt/mysql/init.d/mysql

启动MySQL:
# /opt/mysql/init.d/mysql start

通过命令行登录管理MySQL服务器(提示输入密码时直接回车):
# /opt/mysql/bin/mysql -u root -p -S /tmp/mysql.sock

输入以下SQL语句,创建一个具有root权限的用户(admin)和密码(12345678):
GRANT ALL PRIVILEGES ON *.* TO 'admin'@'localhost' IDENTIFIED BY '12345678';
GRANT ALL PRIVILEGES ON *.* TO 'admin'@'127.0.0.1' IDENTIFIED BY '12345678';

为root帐户设置初始密码
# /opt/mysql/bin/mysqladmin -u root password 'new-password'

删除本机匿名连接的空密码帐号
/opt/mysql/bin/mysql -uroot -p'new-password'
mysql>use mysql; //选择系统数据库mysql
mysql>select Host,User,Password from user; //查看所有用户
mysql>delete from user where password="";
mysql>flush privileges;
mysql>select Host,User,Password from user; //确认密码为空的用户是否已全部删除
mysql>exit;

分享到:
评论

相关推荐

    生产环境MySQL 5.5.x单机多实例配置实践

    本文档旨在详细介绍如何在一个全新的服务器上通过源码编译安装MySQL 5.5.x,并在同一台服务器上配置两个MySQL实例:一个监听3306端口且不开启二进制日志(binlog),另一个监听3307端口并开启binlog。此外,两个实例...

    mariadb-5.5.68-linux-x86_64.tar.gz

    首先,MariaDB 5.5.68是MariaDB的重大版本,它继承了MySQL 5.5的特性,并在此基础上增加了许多增强和修复。这个版本支持InnoDB存储引擎,它是默认的事务处理引擎,提供了ACID(原子性、一致性、隔离性、持久性)事务...

    mariadb-5.5.68.tar.gz

    解压“mariadb-5.5.68.tar.gz”后,用户将获得源代码,可以按照编译指南进行配置、编译和安装。在Linux环境下,通常会使用`tar`命令解压,然后使用`configure`脚本配置编译选项,接着运行`make`和`make install`来...

    MySQL5.5.zip_mySql chm_mysql 5.5_mysql 中文_mysql5.5_mysql5.5.chm

    MySQL 5.5是MySQL数据库管理系统的一个重要版本,它提供了许多增强的功能和性能优化,使得这个开源数据库系统更适合大规模...通过阅读和实践,你将能够掌握MySQL 5.5的精髓,成为一名熟练的MySQL数据库管理员或开发者。

    MariaDB-5.5.68的RPM包

    MariaDB 5.5.68是该分支的一个版本,它在MySQL 5.5的基础上进行了改进和扩展,提供了更好的性能、安全性和稳定性。 在Linux操作系统,特别是CentOS这样的企业级发行版中,RPM(Red Hat Package Manager)是一种广泛...

    RHEL 7.6 源码编译安装Mysql 8.0.X.docx

    在Red Hat Enterprise Linux Server release 7.6 (RHEL 7.6)上源码编译安装MySQL 8.0.x的过程涉及多个步骤,包括操作系统安装配置、软件安装包下载、以及关键工具如cmake和gcc的升级。下面将详细阐述这些步骤。 ###...

    LINUX环境下MYSQL5.5.X源码安装[借鉴].pdf

    在Linux环境中安装MySQL 5.5.x源代码的过程是一个涉及多步骤的技术任务,适用于软件开发人员和系统管理员。本文将详细解析如何在Linux系统中通过源码安装MySQL 5.5.18版本。 首先,我们需要下载必要的工具和库。在...

    mysql-installer-5.5.25.0 安装失败解决方案

    ### MySQL Installer 5.5.25.0 安装失败解决方案 在安装MySQL的过程中,很多用户会遇到各种各样的问题,特别是在使用mysql-installer-5.5.25.0进行安装时,在最后的安全验证步骤中出现问题的情况较为常见。本文将...

    MySQL安装文件MySQL5.5.zip

    标题中的"MySQL安装文件MySQL5.5.zip"指的是包含MySQL 5.5版本安装程序的压缩包。这个压缩文件通常包含了安装MySQL所需的所有组件,包括服务器、客户端工具、连接器以及相关的文档。"mysql-5.5.21.msi"是MySQL ...

    mysql 5.5.tar.gz linux版mysql5.55下载

    在本场景中,`mysql-5.5.54`是MySQL 5.5系列的一个具体发行版,可能是源代码形式,需要在Linux环境下编译安装。 MySQL是世界上最流行的开源关系型数据库管理系统之一,广泛应用于Web应用、数据仓库、企业内部系统等...

    mysql-installer-community-5.5.60.1.zip

    `mysql-installer-community-5.5.60.1.zip` 是一个包含了MySQL社区版安装程序的压缩包,适用于Windows操作系统。在这个压缩文件中,主要包含了一个名为`mysql-installer-community-5.5.60.1.msi`的安装程序,它用于...

    windows版mysql安装包-mysql5-mysql-5.5.zip

    本篇将详细介绍MySQL 5.5版本在Windows环境下的安装过程及关键知识点。 1. **MySQL 5.5概述** MySQL 5.5是MySQL的一个重大版本更新,于2010年发布,引入了诸多性能优化和新特性。其中,InnoDB存储引擎得到显著增强...

    mysql-installer-community-5.5.27.2.msi

    MySQL 5.5.27.2 数据库 下载 mysql-installer-community-5.5.27.2.msi 下载。

    mysql-installer-community-5.5.33.2.msi

    MySQL 5.5.33.2 数据库 下载 mysql-installer-community-5.5.33.2.msi下载。

    mysql5.5.tar.gz

    在这个“mysql5.5.tar.gz”压缩包中,包含了安装MySQL 5.5所需的所有文件。 1. **MySQL 5.5的新特性** - **InnoDB存储引擎增强**:MySQL 5.5默认使用InnoDB存储引擎,提供事务处理、行级锁定以及外键支持,提高了...

    mysql-installer-community-5.5.31.0.msi

    MySQL 5.5.31.0 数据库 下载 mysql-installer-community-5.5.31.0.msi 下载。

    mysql-installer-community-5.5.37.0.msi

    MySQL 5.5.37.0 数据库 下载 mysql-installer-community-5.5.37.0.msi 下载。

    mariadb-5.5.5.3版本源码包~

    源码包意味着我们拿到的是未经编译的原始代码,可以自定义配置和编译安装,以适应不同的操作系统或特定需求。 MariaDB 5.5.5.3版本包含以下关键知识点: 1. **存储引擎**:MariaDB支持多种存储引擎,包括InnoDB...

    centos安装mysql5.5.txt

    ### CentOS 安装 MySQL 5.5 的详细步骤与注意事项 #### 一、背景介绍 在 CentOS 系统上安装 MySQL 数据库是一项常见的任务,尤其是对于 Web 开发者和系统管理员来说。本文将详细介绍如何在 CentOS 系统上安装 ...

    mysql-installer-5.5.25.0.part1.rar

    mysql-installer-5.5.25.0.part1.rar 分卷压缩包part1

Global site tag (gtag.js) - Google Analytics