对于使用CentOS 6的服务器管理员来说,从源码编译安装MySQL,并配置其在系统启动时自动运行,是一项基础且至关重要的任务
本文将详细指导你如何在CentOS 6系统上完成这一操作,确保你的数据库服务能够稳定、可靠地运行
一、准备工作 在进行源码编译安装之前,你需要确保系统已经安装了必要的编译工具和库
使用以下命令安装这些依赖项: bash sudo yum install gcc gcc-c++ ncurses-devel perl cmake bison 这些工具和库将帮助你在编译MySQL源码时解决依赖问题,确保编译过程顺利进行
二、创建用户组和用户 为了安全起见,建议为MySQL创建一个专用的用户组和用户
这不仅可以提高系统的安全性,还可以方便地进行权限管理
bash sudo groupadd mysql sudo useradd -r -g mysql mysql 三、下载和解压MySQL源码 接下来,你需要从MySQL的官方网站下载最新的源码包
这里以MySQL 5.6版本为例(请注意,实际使用时,应选择最新的稳定版本): bash wget http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.26.tar.gz tar -zxvf mysql-5.6.26.tar.gz 解压后,你将得到一个包含MySQL源码的目录
四、编译和安装MySQL 进入解压后的源码目录,使用cmake工具配置编译选项
这里需要特别注意一些关键的编译选项,如字符集、存储引擎等
bash cd mysql-5.6.26 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 -DWITH_FEDERATED_STORAGE_ENGINE=1 -DMYSQL_DATADIR=/usr/local/mysql/data -DMYSQL_TCP_PORT=3306 -DENABLE_DOWNLOADS=1 配置完成后,开始编译源码: bash make 编译过程可能需要一些时间,具体取决于你的硬件配置
编译完成后,运行安装命令: bash sudo make install 五、初始化数据库和设置权限 安装完成后,你需要初始化MySQL数据库,并设置root用户的密码
首先,修改安装目录和数据库目录的所有者和用户组: bash cd /usr/local/mysql sudo chown -R mysql:mysql . cd /usr/local/mysql/data sudo chown -R mysql:mysql . 然后,初始化数据库: bash sudo ./scripts/mysql_install_db --user=mysql --datadir=/usr/local/mysql/data/ 初始化完成后,复制配置文件并修改默认字符集: bash sudo cp support-files/my-default.cnf /etc/my.cnf sudo vim /etc/my.cnf 在`【mysqld】`标签下添加: plaintext character-set-server=utf8 接下来,设置MySQL的环境变量,以便在命令行中方便地访问MySQL: bash sudo vim /etc/profile 在文件末尾添加: plaintext PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH export PATH 使配置立即生效: bash source /etc/profile 最后,启动MySQL服务,并设置root用户的密码: bash sudo service mysql start mysql -u root 在MySQL命令行中,运行以下命令设置密码: sql use mysql; update user set password=password(你的密码) where user=root; flush privileges; exit; 六、配置MySQL开机自启 为了确保MySQL在系统启动时自动运行,你需要创建一个系统服务文件,并使用chkconfig命令将其添加到系统服务列表中
首先,复制MySQL提供的启动脚本到`/etc/init.d/`目录下: bash sudo cp support-files/mysql.server /etc/init.d/mysqld 然后,使用chkconfig命令将mysqld服务添加到系统服务列表中,并设置为开机启动: bash sudo chkconfig --add mysqld sudo chkconfig mysqld on 你可以使用以下命令检查mysqld服务的开机启动状态: bash sudo chkconfig --list mysqld 如果看到`3:on`、`4:on`、`5:on`,则表示mysqld服务已经成功设置为开机启动
七、验证和测试 完成以上步骤后,你可以重启系统,验证MySQL是否能够在系统启动时自动运行
bash sudo reboot 系统重启后,登