MySQL,作为一款开源的关系型数据库管理系统,凭借其高性能、可靠性和易用性,在众多DBMS中脱颖而出
本文将详细介绍如何在CentOS7操作系统上安装MySQL5.7.12版本,为需要在该环境下部署MySQL的用户提供一份详尽的指南
一、前期准备 在安装MySQL之前,我们需要进行一些前期准备工作,以确保安装过程顺利进行
1.安装CentOS 7操作系统: 确保你的服务器或虚拟机已经安装了CentOS7操作系统,并且是以最小化缺省安装
最小化安装可以减少不必要的软件包,从而节省系统资源
2.配置网络环境: 在安装过程中,选择并设置好网络接口,确保服务器能够连接到互联网,以便下载所需的软件包和依赖项
3.升级系统: 使用`yum`命令升级系统到最新版本
这可以通过执行以下命令来完成: bash sudo yum -y update 二、卸载旧版本MySQL 如果系统中已经安装了旧版本的MySQL,我们需要先将其卸载,以避免版本冲突
1.检查旧版本MySQL: 使用以下命令检查系统中是否安装了旧版本的MySQL: bash rpm -qa | grep mysql 2.卸载MySQL: 如果发现有旧版本的MySQL,使用以下命令进行卸载: bash sudo rpm -e mysql 普通删除模式 sudo rpm -e --nodeps mysql强力删除模式,用于处理依赖关系 三、安装MySQL5.7.12所需依赖 在安装MySQL5.7.12之前,我们需要先安装一些必要的依赖项
1.安装编译工具和库文件: 使用`yum`命令安装MySQL编译所需的工具和库文件: bash sudo yum -y install make gcc-c++ cmake bison-devel ncurses-devel libaio libaio-devel perl-Data-Dumper net-tools 2.安装Boost库: MySQL5.7.12要求使用特定版本的Boost库(boost_1_59_0)
我们需要从Boost官网下载并安装该版本的库
- 下载Boost库: bash cd /usr/local/src wget http://downloads.sourceforge.net/project/boost/boost/1.59.0/boost_1_59_0.tar.gz - 解压并编译Boost库: bash tar xvf boost_1_59_0.tar.gz cd boost_1_59_0 ./bootstrap.sh --with-libraries=system,filesystem,log,thread --with-toolset=gcc ./b2 toolset=gcc cxxflags=-std=c++11 ./b2 install 注意:编译过程中可能会提示某些库不需要编译,这取决于你的具体需求
默认情况下,Boost库会安装在`/usr/local/lib`目录下,头文件在`/usr/local/include/boost`目录下
四、下载并安装MySQL5.7.12 1.下载MySQL 5.7.12安装包: 从MySQL官网或国内镜像站点下载MySQL5.7.12的安装包
推荐使用国内镜像站点以提高下载速度,例如清华大学开源软件镜像站: bash wget https://mirrors.tuna.tsinghua.edu.cn/mysql/downloads/MySQL-5.7/mysql-5.7.12-linux-glibc2.5-x86_64.tar.gz 2.解压安装包: 使用`tar`命令解压下载的安装包: bash tar xvf mysql-5.7.12-linux-glibc2.5-x86_64.tar.gz mv mysql-5.7.12-linux-glibc2.5-x86_64 mysql-5.7.12 重命名目录以便于管理 3.创建MySQL用户和组: 如果系统中尚未创建MySQL用户和组,需要手动创建它们: bash sudo groupadd mysql sudo useradd -g mysql mysql 4.设置权限并初始化数据库: - 修改MySQL安装目录的权限,使其归MySQL用户和组所有: bash sudo chown -R mysql:mysql /usr/local/mysql-5.7.12 -初始化数据库系统表: 进入MySQL安装目录的`bin`子目录,执行`mysqld --initialize`命令来初始化数据库
注意,这里使用的是`--initialize`而不是较旧的`mysql_install_db`命令
bash cd /usr/local/mysql-5.7.12/bin sudo ./mysqld --initialize --user=mysql --basedir=/usr/local/mysql-5.7.12 --datadir=/usr/local/mysql-5.7.12/data 五、配置MySQL 1.创建配置文件: MySQL的配置文件通常命名为`my.cnf`,可以放在`/etc`目录下
我们可以从MySQL安装目录的`support-files`子目录中复制一个默认的配置文件模板来进行修改: bash sudo cp /usr/local/mysql-5.7.12/support-files/my-default.cnf /etc/my.cnf 然后,使用文本编辑器打开`/etc/my.cnf`文件,根据实际需求进行修改
例如,设置MySQL的安装目录、数据目录、端口号、字符集等
2.设置MySQL服务: 为了方便管理MySQL服务,我们可以将MySQL的启动脚本复制到`/etc/init.d/`目录下,并设置其为系统服务
bash sudo cp /usr/local/mysql-5.7.12/support-files/mysql.server /etc/init.d/mysqld sudo chkconfig --add mysqld sudo chkconfig mysqld on 3.启动MySQL服务: 使用以下命令启动MySQL服务: bash sudo service mysqld start 或者,如果你使用的是systemd管理系统服务,可以使用以下命令: bash sudo systemctl start mysqld 4.检查MySQL服务状态: 使用以下命令检查MySQL服务的运行状态: bash sudo service mysqld status 或者: bash sudo systemctl status mysqld 六、重置MySQL root密码 MySQL安装完成后,默认会生成一个临时的root密码
我们需要找到这个密码并重置为新的密码
1.查找临时密码: MySQL初始化过程中会在日志文件中生成一个临时的root密码
通常,这个日志文件位于MySQL数据目录下,文件名以`.err`结尾
你可以使用`grep`命令来查找这个密码: bash sudo grep temporary password /usr/local/mysql-5.7.12/data/hostname.err 2.登录MySQL并重置密码: 使用找到的临时密码登录MySQL: bash /usr/local/mysql-5.7.12/bin/mysql -u root -p 然后,在MySQL命令行界面中使用`ALTER USER`命令重置密码: sql ALTER USER root