二进制文件安装mysql5.7
yum安装mysql5.7虽然方便,但是安装的路径和配置难以定制化,这边使用二进制安装,即使用官方提供的编译软件包来安装,不需要额外准备依赖的环境软件,安装也会变的更加轻量,且可以定制化。
一、自定制规范
Mysql本身没有明确的安装规范,但是日常工作中为了便于管理和定位问题,我们需要对Mysql的安装做一下统一的规范:建议软件安装目录和数据目录分开,且数据目录、日志目录等也分开存放,以提高性能。这里我们要求把软件安装在/usr/local/mysql
下,数据分为/database/mysql/data
和/database/mysql/log
以及/database/mysql/tmp
三个目录存储。
二、下载安装包
去官网上按自己的需求下载对应软件包(下载链接),通常是以.tar.gz
我结尾的文件,我下载的版本是5.7.40。
三、进行安装
1、解压和目录整理
mkdir -p /usr/local/mysql
mkdir -p /database/mysql/data
mkdir -p /database/mysql/log
mkdir -p /database/mysql/tmp
tar -xzvf mysql-5.7.40-el7-x86_64.tar.gz
mv mysql-5.7.40-el7-x86_64 /usr/local/mysql
2、添加用户和组并修改属性
groupadd mysql
useradd mysql -g mysql -d /home/mysql -s /sbin/nologin
chown -R mysql:mysql /usr/local/mysql
chown -R mysql:mysql /database/mysql
3、安装数据库
-
复制启动脚本和配置文件并修改
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
cp /usr/local/mysql/support-files/my.cnf.nor /etc/my.cnf
[NOTE]
如果没有my.cnf的模板文件,可以从其他模板直接复制一份过来修改,启动文件和配置文件中要注意修改的是"basedir="和"datadir=",需要和上面自己创建的目录相符。 -
初始化数据目录
在启动数据库前还需要初始化数据库目录,我们是安装的5.7版本,直接使用mysqld的initialize选项:
/usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/database/mysql/data
-
启动数据库
service mysql start
-
设置自启动
chkconfig --add mysql
chkconfig --level 2345 mysql on
4、登录数据库
在初始化数据库目录时会将初始的root密码写入log日志,通过grep password *.log
查看到:
第一次登录后需要修改密码:
alter user 'root'@'localhost' identified by '*******';
后续即可用新密码正常登录数据库并使用
[NOTE]
为了使用方便,可以通过创建链接或者修改环境变量的方式来直接使用mysql的相关命令,如修改环境变量vim ~/.bash_profile
其中添加
"MYSQL_HOME=/usr/local/mysql"和"PATH=$PATH:$MYSQL_HOME/bin"两行后执行source ~/.bash_profile