下载地址:https://dev.mysql.com/downloads/mysql/5.7.html#downloads
上传服务器,解压
tar -xvf mysql-5.7.27-linux-glibc2.12-x86_64.tar
再移动并重命名一下
mv mysql-5.7.27-linux-glibc2.12-x86_64 /usr/local/mysql
创建mysql用户组和用户并修改权限
groupadd mysql
useradd -r -g mysql mysql
创建数据目录并赋予权限
mkdir -p /data/mysql #创建目录
chown mysql:mysql -R /data/mysql #赋予权限
配置my.cnf
vim /etc/my.cnf
bind-address=0.0.0.0
port=3306
user=mysql
basedir=/usr/local/mysql
datadir=/data/mysql
socket=/tmp/mysql.sock
log-error=/data/mysql/mysql.err
pid-file=/data/mysql/mysql.pid
#character config
character_set_server=utf8mb4
symbolic-links=0
explicit_defaults_for_timestamp=true
初始化数据库
进入mysql的bin目录
cd /usr/local/mysql/bin/
./mysqld --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql/ --datadir=/data/mysql/ --user=mysql --initialize
启动mysql,并更改root 密码
service mysql start
我这里忘记初始化密码,解决:https://blog.youkuaiyun.com/qq_34939371/article/details/102525018
(这里只是需要能够登录mysql就行,密码随便写,后面还会重置密码)
登录mysql,发现出现以下错误(其他版本没碰到过):
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
解决:
SET PASSWORD = PASSWORD('123456');
ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER;
FLUSH PRIVILEGES;
远程无法访问解决:
use mysql #访问mysql库
update user set host = '%' where user = 'root'; #使root能再任何host访问
FLUSH PRIVILEGES;
服务器如果有安全组,先配置安全组(如:阿里云)