一、下载MysqL二进制安装包
MysqL官网:
由于国内网络问题,个人建议使用国内开源镜像站下载:
http://mirrors.163.com/MysqL/Downloads/MysqL-8.0/
http://mirrors.sohu.com/MysqL/MysqL-8.0/
http://mirrors.ustc.edu.cn/MysqL-ftp/Downloads/MysqL-8.0/
下载:MysqL-8.0.13-linux-glibc2.12-x86_64.tar.xz
二、MysqL依赖于libaio
yum search libaio
yum install libaio
三、解压和重命名
我们默认把MysqL8安装到/data/MysqL8目录下,这个目录可以随意指定。
tar xf MysqL-8.0.13-linux-glibc2.12-x86_64.tar.xz
mv MysqL-8.0.13-linux-glibc2.12-x86_64 /data/MysqL8
useradd -s /sbin/nologin -M MysqL
centos7默认会有一个/etc/my.cnf文件,为了不影响安装,可以直接删除或重命名。
mv /etc/my.cnf /etc/my.cnf.bak
或
rm /etc/my.cnf
六、创建my.cnf文件
cd /data/MysqL8
vi my.cnf
填写如下内容:
[MysqLd]
port = 3306
basedir = /data/MysqL8
datadir = /data/MysqL8/data
max_connections = 1024
character-set-server = utf8
default-storage-engine = INNODB
server_id = 1
socket = /data/MysqL8/MysqL.sock
pid-file = /data/MysqL8/MysqL.pid
slow_query_log = 1
slow_query_log_file = /data/MysqL8/log/MysqL-slow.log
long_query_time = 10
log-error = /data/MysqL8/log/MysqL-err.log
log-bin = /data/MysqL8/log/MysqL-bin
user = MysqL
default_authentication_plugin = MysqL_native_password
sql_mode = NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
[MysqL]
default-character-set = utf8
[client]
port = 3306
socket = /data/MysqL8/MysqL.sock
default-character-set = utf8
创建一个软链接
ln -s /data/MysqL8/my.cnf /etc/my.cnf
mkdir /data/MysqL8/log
mkdir /data/MysqL8/data
chown -R MysqL.MysqL /data/MysqL8
/data/MysqL8/bin/MysqLd --initialize --user=MysqL --basedir=/data/MysqL8 --datadir=/data/MysqL8/data
八、把启动文件复制到/etc/init.d/目录下
修改46,47行的basedir和datadir
MysqLd_pid_file_path=
if test -z "$basedir"
then
basedir=/data/MysqL8
bindir=/data/MysqL8/bin
if test -z "$datadir"
then
datadir=/data/MysqL8/data
fi
sbindir=/data/MysqL8/bin
libexecdir=/data/MysqL8/bin
else
bindir="$basedir/bin"
if test -z "$datadir"
then
datadir="$basedir/data"
fi
sbindir="$basedir/sbin"
libexecdir="$basedir/libexec"
fi
九、启动MysqL服务
service MysqL start
MysqL初始化时会自动生成一个密码,可以在log-error指定的错误日志中查看
MysqL -u root -p
ALTER USER 'root'@'localhost' IDENTIFIED WITH MysqL_native_password BY '新密码';
flush privileges;
十一、创建可远程连接的用户
create user '用户名'@'主机' identified with MysqL_native_password by '密码';
grant all privileges on *.* to '用户名'@'主机';
flush privileges;
十二、添加环境变量
vi /etc/profile
export PATH=$PATH:/data/MysqL8/bin
使配置生效
source /etc/profile