# Linux系统安装 Mysql8.x

# CentOS 7.x

# 官网下载压缩包

官方地址:https://dev.mysql.com/downloads/mysql/

mysql-8.0.19

点击下载时,需要进行登陆,没账号需要先注册后登陆,登陆成功后跳转以下页面:

mysql-8.0.19

下载在自己桌面上传至LINUX或者得到链接直接在服务器wegt均可。(我使用的是网易开源镜像站下载)

#官网下载压缩包
wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.19-1.el8.x86_64.rpm-bundle.tar

#网易开源镜像站
wget http://mirrors.163.com/mysql/Downloads/MySQL-8.0/mysql-8.0.17-el7-x86_64.tar.gz

# 解压

tar -zxvf mysql-8.0.17-el7-x86_64.tar.gz -C /usr/local

# 修改文件夹名称

cd /usr/local
mv mysql-8.0.17-el7-x86_64.tar.gz mysql

# 添加默认配置文件

vi/etc/my.cnf

[client]
port=3306
socket=/tmp/mysql.sock

[mysqld]
port=3306
user=mysql
socket=/tmp/mysql.sock
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data

#免密登陆,用于后面修改root密码,修改密码成功后注视掉当行
skip-grant-tables

# 创建mysql组和用户

groupadd mysql

useradd -g mysql mysql

# 创建mysql数据目录

mkdir /usr/local/mysql/data

# 初始化mysql

/usr/local/mysql/bin/mysqld  --initialize --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/

# 初始化报错

bin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory

# 解决方法

yum install -y libaio

# 修改/tmp/mysql的目录权限

chown -R mysql:mysql /tmp/mysql

# 初始化成功

2020-04-18T14:10:10.273716Z 0 [System] [MY-013169] [Server] /usr/local/mysql/bin/mysqld (mysqld 8.0.17) initializing of server in progress as process 42921
2020-04-18T14:10:13.117486Z 5 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: cQWu0raLVw&t
2020-04-18T14:10:13.989281Z 0 [System] [MY-013170] [Server] /usr/local/mysql/bin/mysqld (mysqld 8.0.17) initializing of server has completed

# mysql开机自启

cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld

#赋予可执行权限
chmod +x /etc/init.d/mysql

# 启动mysql服务器

# 启动
service mysql start;
# 查看启动状态
service mysql status;

# mysql 基本操作

# 连接mysql
/usr/local/mysql/bin/mysql -u root

# 修改mysql的默认初始化密码
alter user 'root'@'localhost' identified by '设置新的密码';

# 开启远程登录
update mysql.user set host='%' where user='root';

flush privileges;

# 查看mysql所用用户
select user,host from mysql.user;

# 防火墙问题

注意:修改过后便可以用外部工具连接了,这里有一点注意的是防火墙问题,按照对应的系统去开放3306端口,如若不开放回会出现10060的错误码(主要是防火墙问题)

# 开放3306端口(针对开启防火墙的情况)

permanent 表示永久开启
firewall-cmd --add-port=3306/tcp  --permanent

针对个人开发直接关闭防火墙即可

# 关闭防火墙

#查看状态
systemctl status firewalld
service iptables status

#下次重启恢复防火墙
systemctl stop firewalld
service iptables stop

#永久关闭
systemctl disable firewalld
上次更新: 2020-05-10 13:33:57