本文将详细介绍如何在Linux系统中从源码安装MySQL5.6,确保每个步骤都清晰明了,便于理解和操作
一、准备工作 在安装MySQL5.6之前,需要进行一些准备工作,确保系统环境和依赖项都已满足
1.检查系统是否已安装MySQL 在安装之前,最好先检查系统中是否已经安装了MySQL或其他MySQL相关的软件包
可以使用以下命令进行检查: bash rpm -qa | grep mysql 如果返回的结果不为空,说明系统中已经安装了MySQL或相关软件包,需要先进行卸载,避免版本冲突
2.卸载已安装的MySQL或MariaDB 如果系统中已经安装了MySQL或MariaDB,需要先进行卸载
可以使用以下命令卸载MariaDB(以MariaDB为例): bash rpm -qa | grep mariadb | xargs rpm -e --nodeps 卸载完成后,再次使用`rpm -qa | grep mysql`或`rpm -qa | grep mariadb`命令确认是否卸载干净
3.创建MySQL用户和组 在Linux系统中,通常建议为MySQL创建一个专门的用户和组,以提高系统的安全性
可以使用以下命令创建MySQL用户和组: bash groupadd mysql useradd -r -g mysql mysql 4.创建安装目录和数据目录 接下来,需要为MySQL创建一个安装目录和数据目录
通常,可以将安装目录设置为`/usr/local/mysql`,数据目录设置为`/usr/local/mysql/data`
可以使用以下命令创建这些目录: bash mkdir -p /usr/local/mysql mkdir -p /usr/local/mysql/data mkdir -p /usr/local/mysql/log 5.安装依赖插件 从源码编译安装MySQL需要一些依赖插件
可以使用`yum`命令安装这些依赖插件: bash yum -y install gcc gcc-c++ autoconf bison cmake automake zlib- fiex libxml ncurses-devel libmcryptlibtool-ltdl-devel 二、下载和解压MySQL源码包 1.下载MySQL源码包 从MySQL官方网站或其他可信的下载源下载MySQL5.6的源码包
例如,可以下载`mysql-5.6.15.tar.gz`
2.解压MySQL源码包 使用`tar`命令解压下载的MySQL源码包: bash tar -zxvf mysql-5.6.15.tar.gz 解压后,会生成一个名为`mysql-5.6.15`的目录,其中包含MySQL的源码文件
三、编译和安装MySQL 1.进入MySQL源码目录 使用`cd`命令进入解压后的MySQL源码目录: bash cd mysql-5.6.15 2.运行cmake配置 在编译MySQL之前,需要使用`cmake`命令进行配置
配置时需要指定安装目录、数据目录、配置文件目录等参数
以下是一个示例配置命令: bash cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/usr/local/mysql/data -DSYSCONFDIR=/etc -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_FEDERATED_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DMYSQL_TCP_PORT=3306 -DENABLED_LOCAL_INFILE=1 -DWITH_PARTITION_STORAGE_ENGINE=1 -DEXTRA_CHARSETS=all -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci 这个配置命令指定了MySQL的安装目录为`/usr/local/mysql`,数据目录为`/usr/local/mysql/data`,配置文件目录为`/etc`等
可以根据实际需求调整这些参数
3.编译和安装MySQL 配置完成后,使用`make`命令进行编译,然后使用`make install`命令进行安装: bash make && make install 编译和安装过程可能需要一些时间,具体取决于系统的性能和源码包的大小
四、配置MySQL 1.设置文件权限 安装完成后,需要将MySQL的安装目录和数据目录的权限设置为MySQL用户和组: bash chown -R mysql:mysql /usr/local/mysql 2.初始化数据库 使用`mysql_install_db`脚本初始化数据库
这个脚本位于MySQL的安装目录下的`scripts`目录中
可以使用以下命令进行初始化: bash cd /usr/local/mysql scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql --defaults-file=/etc/my.cnf --innodb_undo_tablespaces=3 --explicit_defaults_for_timestamp 如果初始化过程中提示`--explicit_defaults_for_timestamp`参数错误,可以尝试去掉这个参数再次执行
3.复制配置文件 将MySQL的配置文件`my.cnf`复制到`/etc`目录下: bash cp support-files/my-default.cnf /etc/my.cnf 然后编辑`/etc/my.cnf`文件,根据实际需求配置参数
例如,可以设置字符集、socket文件位置、日志文件位置等
4.配置MySQL服务 将MySQL的服务启动脚本复制到`/etc/init.d/`目录下,并命名为`mysql`: bash cp support-files/mysql.server /etc/init.d/mysql 然后为脚本添加可执行权限: bash chmod +x /etc/init.d/mysql 接下来,将MySQL服务添加到系统的开机启动项中: bash chkconfig mysql on 最后,启动MySQL服务: bash service mysql start 或者使用`systemctl`命令启动(取决于系统的init系统): bash systemctl start mysql 5.配置环境变量 为了方便在终端中直接使用`mysql`命令,需要将MySQL的bin目录添加到系统的PATH环境变量中
可以编辑`/etc/profile`文件,在文件末尾添加以下行: bash export MYSQL_HOME=/usr/local/mysql export PATH=$PATH:$MYSQL_HOME/bin 然后使修改立即生效: bash source /etc/profile 五、设置MySQL root用户密码和远程访问权限 1.设置root用户密码 MySQL安装完成后,root用户的密码默认为空
需要及时设置root用户的密码
可以使用以下命令设置密码: bash mysql -u root SET PASSWORD = PASSWORD(your_password); 或者,在MySQL5.7及更高版本中,可以使用以下命令: bash ALTER USER root@localhost IDENT