一、下载
方式1: 进入mysql官网下载自己对应版本的mysql,
下载地址:https://dev.mysql.com/downloads/mysql/5.7.html#downloads
我这里下载mysql-5.7.31-linux-glibc2.12-x86_64.tar.gz版本
方式2: 使用用命令下载
wget https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.31-linux-glibc2.12-x86_64.tar.gz
二、环境检测
安装前,先检测系统是否已安装 MySQL:
rpm -qa | grep mysql
如有,类似
mysql-libs-5.1.52-1.el6_0.1.x86_64
那可以选择进行卸载(2选1):
# 普通删除模式
rpm -e mysql-libs-5.1.52-1.el6_0.1.x86_64
# 强力删除模式,如果使用上面命令删除时,提示有依赖的其它文件,则用该命令可以对其进行强力删除
rpm -e --nodeps mysql-libs-5.1.52-1.el6_0.1.x86_64
检查否存在 mariadb 数据库,如有,卸载之,卸载同上
rpm -qa | grep mariadb
如有,类似
mariadb-libs-5.5.56-2.el7.x86_64
则卸载
rpm -e --nodeps mariadb-libs-5.5.56-2.el7.x86_64
用xftp将下载的mysql-5.7.25-linux-glibc2.12-x86_64.tar.gz
上传到linux服务器的/opt/mysql
目录下面
三、安装
解压
tar -zxvf mysql-5.7.31-linux-glibc2.12-x86_64.tar.gz -C ../servers/
重命名
mv mysql-5.7.31-linux-glibc2.12-x86_64 mysql-5.7.31
添加系统mysql组和mysql用户,检查mysql组和用户是否存在,如无创建
cat /etc/group | grep mysql
# 类似
mysql:x:490:
cat /etc/passwd | grep mysql
# 类似
mysql:x:496:490::/home/mysql:/bin/bash
以上为存在的情况,如无,执行添加命令:
groupadd mysql
useradd -r -g mysql mysql
# useradd -r参数表示mysql用户是系统用户,不可用于登录系统
四、安装数据库
创建data目录
cd mysql-5.7.31
mkdir data
将/opt/mysql/mysql-5.7.31
的所有者及所属组改为mysql
chown -R mysql:mysql /usr/local/mysql-5.7.31
在/opt/mysql/mysql-5.7.31/support-files
目录下创建my_default.cnf
# For advice on how to change settings please see
# http://dev.mysql.com/doc/refman/5.7/en/server-configuration-defaults.html
# *** 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.
[mysqld]
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
basedir = /usr/local/mysql-5.7.31
datadir = /usr/local/mysql-5.7.31/data
port = 3306
socket = /tmp/mysql.sock
character-set-server=utf8
log-error = /usr/local/mysql-5.7.31/data/mysqld.log
pid-file = /usr/local/mysql-5.7.31/data/mysqld.pid
拷贝,提示则覆盖
cp support-files/my_default.cnf /etc/my.cnf
初始化 mysqld
cd /usr/local/mysql-5.7.31
./bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql-5.7.31 --datadir=/usr/local/mysql-5.7.31/data/
若报错:error while loading shared libraries: libaio.so.1: cannot open shared object file
解决方法 :yum install -y libaio
安装后再初始化就OK了
初始化完成之后,查看日志
/usr/local/mysql-5.7.31/data/mysqld.log
临时密码,如下:
2019-04-08T06:14:29.790033Z 1 [Note] A temporary password is generated for root@localhost: a8?DQir=T+k+
把启动脚本放到开机初始化目录
cp support-files/mysql.server /etc/init.d/mysql
启动mysql服务
service mysql start
登录mysql,密码为初始密码
cd /opt/mysql/mysql-5.7.31
./bin/mysql -u root -p
2020-09-23T09:29:18.970981Z 1 [Note] A temporary password is generated for root@localhost: .L6og)3HPuu1
修改密码
mysql> set password=password('j1YN3OX4a%EK');
mysql> grant all privileges on *.* to root@'%' identified by 'j1YN3OX4a%EK';
mysql> flush privileges;
添加远程访问权限
mysql> use mysql;
mysql> update user set host='%' where user = 'root';
mysql> flush privileges;
重启mysql生效
service mysql stop
service mysql start
或
service mysql restart