Centos 7.5安装 Mysql5.7.24
1. 下载 MySQL
本文采用的Linux为是腾讯云 标准型S2 (1 核 1 GB) Centos 7.5 64位
1.1 官网下载地址:
1.2 选择64位的
1.3 说明
该文档仅供参考,更多详细文档请查看官方文档
https://dev.mysql.com/doc/refman/5.7/en/binary-installation.html
2. 上传文件并解压到安装目录
2.1 使用xftp上传到指定目录 我的目录为
/app/tool
2.2 解压
tar zxf mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz
2.3 重命名
mv mysql-5.7.24-linux-glibc2.12-x86_64 mysql
2.4 复制到指定目录
cp -r mysql /usr/local/
2.5 解压目录结构
3. 添加用户组,用专门管理mysql,提高安全
3.1 新建组
groupadd mysql
3.2 新建用户
useradd -r -g mysql mysql
4. 修改mysql目录权限
4.1 进入mysql根目录
cd /usr/local/mysql/
4.2 修改拥有者为mysql用户
chown -R mysql:mysql ./
5. 配置mysql服务
5.1 将mysql/support-files下的mysql.server 复制到 /etc/init.d/下并自定义为mysql
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
5.2 修改该服务
vi /etc/init.d/mysql
5.3 修改的内容
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
6. 配置mysql的配置文件
在其他版本的mysql 里面 support-files下有默认的配置文件,而5.7.24这个版本没有,需要自己准备,下面提供一份简单基本配置
在/etc/ 下新建my.cnf ,有些可能会提示已经存在,因为默认装的数据库配置文件也在,直接覆盖就行
6.1 进入etc目录
cd /etc
6.2 删除my.cnf
rm -rf my.cnf
6.3 新建my.cnf
vi my.cnf
6.4 编辑的内容
# *** DO NOT EDIT THIS FILE. It's a template which will be copied to the
# *** default location during install, and will be replaced if you
# *** upgrade to a newer version of MySQL.
[client]
port = 3306
default-character-set=utf8
[mysqld]
# 一般配置选项
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data
port = 3306
character-set-server=utf8
default_storage_engine = InnoDB
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
7. 初始化数据库
7.1 进入mysql/bin目录下
cd /usr/local/mysql/bin/
7.2 执行初始化
./mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
7.3 遇到错误
./mysqld: error while loading shared libraries: libnuma.so.1: cannot open shared object file: No such file or directory
7.4 执行以下命令
yum -y install numactl.x86_64
7.5 再执行初始化
./mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
7.6 如果还是报这个错
./mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory
7.7 再执行以下命令
yum -y install libaio
如果报下面这个,说明安装的32位,不支持到64位安装,这是我装MySQL8.0遇到的,换成64位包后还是出了问题,主要是glibc版本太低,而且升级这个会对系统有影响,所以就放弃了。
-bash: ./mysqld: /lib/ld-linux.so.2: bad ELF interpreter: No such file or directory
7.8 再执行初始化
./mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
7.9 执行完毕后会自动生成默认的密码在执行记录中,注意复制出来
8. 启动mysql服务
8.1 执行启动命令
service mysql start
8.2启动成功会提示 ok
9. 登录及远程配置
9.1 登录
进入mysql/bin目录下执行
./mysql -uroot -p
9.2 输入密码
Enter password:输入默认的临时密码
9.3 修改密码
set password=password('新密码');
9.4 设置远程访问
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '访问密码';
flush privileges;
9.5 开放端口
9.5.1 开启端口
firewall-cmd --zone=public --add-port=3306/tcp --permanent
9.5.2 重载防火墙
firewall-cmd --reload
10. 设置开机启动和环境变量(可以忽略)
10.1 开机启动
10.1.1 查看自启服务列表
chkconfig --list
10.1.2 添加mysql服务到自启服务
chkconfig --add mysql
10.1.3 设置自启
chkconfig mysql on
10.2 环境变量
10.2.1 为了不用在mysql/bin目录下才能连接mysql 将mysql/bin目录设置到环境变量中
vi /etc/profile
10.2.2 修改的内容
# mysql environment
export MYSQL_HOME=/usr/local/mysql
export PATH=$PATH:$MYSQL_HOME/bin
10.2.3 更新环境变量
source /etc/profile