CentOS 源码安装MySQL
基础准备
1、创建MySQL用户:
使用useradd
命令创建一个名为mysql的用户,并指定其登录Shell为/sbin/nologin,以确保该用户无法直接登录系统。
示例命令:useradd s /sbin/nologin mysql
2、安装依赖包:
使用yum
命令安装MySQL编译所需的依赖包,包括pcredevel、zlibdevel、gcc、gccc++、make等,这些依赖包是编译过程中必需的。
示例命令:yum y install pcredevel zlibdevel gcc gccc++ make
3、解压MySQL软件包:
将下载的MySQL源码包上传至服务器的/opt目录下(或其他合适的目录),并使用tar
命令进行解压。
示例命令:tar xf mysql5.7.32.tar.gz
(假设文件名为mysql5.7.32.tar.gz)
编译与安装
1、配置编译选项:
进入解压后的MySQL源码目录,使用cmake
命令进行配置,可以通过D
参数指定各种编译选项,如安装路径、数据目录、字符集、存储引擎等。
示例命令:
cd mysql5.7.32/ cmake DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ DMYSQL_DATADIR=/data/mysql \ DDEFAULT_CHARSET=utf8mb4 \ DDEFAULT_COLLATION=utf8_general_ci \ DMYSQL_TCP_PORT=3306 \ DMYSQL_USER=mysql \ DWITH_BOOST=boost/boost_1_59_0 \ ...
注意:这里的示例命令仅列出了部分常用选项,实际使用时可能需要根据具体需求进行调整。
2、执行编译与安装:
使用make
命令进行编译,然后使用make install
命令进行安装,编译过程可能需要一些时间,具体取决于计算机性能和源码包的大小。
示例命令:
make j4 && make install
“j4”表示使用4个CPU核心进行并行编译,可以根据实际情况进行调整。
配置与启动
1、修改目录权限:
使用chown
命令将MySQL安装目录的所有者更改为mysql用户和mysql组,以确保MySQL进程能够正常访问这些目录。
示例命令:chown R mysql:mysql /usr/local/mysql/
2、初始化数据库:
进入MySQL的bin目录,使用mysqld
命令进行初始化操作,这将生成初始的数据库表和root用户的临时密码。
示例命令:
cd /usr/local/mysql/bin ./mysqld initialize user=mysql basedir=/usr/local/mysql datadir=/data/mysql/
注意:这里的示例命令仅适用于较新的MySQL版本,对于较旧的版本,可能需要使用不同的命令或参数。
3、启动MySQL服务:
使用service
命令启动MySQL服务,并设置开机自启动。
示例命令:
service mysqld start chkconfig mysqld on
或者,在CentOS 7及更高版本中,可以使用systemctl
命令进行管理:
systemctl start mysqld sudo systemctl enable mysqld
4、登录MySQL并修改root密码:
使用初始化过程中生成的临时密码登录MySQL,然后使用ALTER USER
命令修改root用户的密码。
示例命令:
mysql u root p ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';
“new_password”应替换为你想要设置的新密码。
相关问答FAQs
1、为什么在编译MySQL时需要指定安装路径?
答:在编译MySQL时指定安装路径是为了确保MySQL组件被安装在预期的位置,如果不指定安装路径,MySQL可能会被安装在默认位置(如/usr/local/mysql),这可能会导致与其他软件或库发生冲突,通过指定安装路径,可以更好地控制MySQL的安装位置和环境配置。
2、在初始化数据库时遇到问题怎么办?
答:如果在初始化数据库时遇到问题,首先检查是否已经正确设置了数据目录的权限和所有权,检查MySQL的配置文件my.cnf是否正确配置,如果问题仍然存在,可以尝试查看MySQL的错误日志以获取更多信息,如果错误日志中没有有用的信息,可以尝试在互联网上搜索相关错误消息以获取解决方案,如果以上方法都无法解决问题,可以考虑重新安装MySQL或寻求专业帮助。