1、创建文件夹,可以自己找一个
我这边是 /opt/env/mysql8.0
mkdir mysql8.0
- 切换到文件夹内
cd mysql8.0
2、下载mysql tar.xz文件
如果下载的比较慢的,可以在公众号获取:
关注I am Walker
回复mysql8.0
wget [https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.20-linux-glibc2.12-x86_64.tar.xz](https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.20-linux-glibc2.12-x86_64.tar.xz)
下载成功后
因为下载的是tar.xz文件,所以需要先将其解压
xz -d mysql-8.0.20-linux-glibc2.12-x86_64.tar.xz
解压之后就变成了
3、解压tar文件
tar -xjvf mysql-8.0.20-linux-glibc2.12-x86_64.tar
解压后:
修改解压文件夹名称
将解压后的文件夹的名称修改为mysql-8.0.20
,使得文件名不会太长
mv mysql-8.0.20-linux-glibc2.12-x86_64 ./mysql-8.0.20
4、创建data文件夹
- 进入
mysql-8.0.20
: cd mysql-8.0.20 - 创建data文件夹
mkdir data
5、添加用户组和密码
groupadd mysql
useradd -g mysql mysql
6、授权用户
chown -R mysql.mysql /opt/env/mysql8.0
7、初始化信息
先进入mysql解压文件的bin目录下
我的是 cd /opt/env/mysql8.0/mysql-8.0.20/bin
,如果使用的不一样的话,需要进行修改
./mysqld --user=mysql --basedir=/opt/env/mysql8.0/mysql-8.0.20 --datadir=/opt/env/mysql8.0/mysql-8.0.20/data/ --initialize
执行之后产生的信息,将产生的临时密码复制下来,后面登录要使用
fVsI0-FyTfa>
8、创建/修改my.cnf
先执行 vim /etc/my.cnf
,然后将下面的内容复制上去
[mysqld]
# mysql的安装目录
basedir=/opt/env/mysql8.0/mysql-8.0.20
# data的目录
datadir=/opt/env/mysql8.0/mysql-8.0.20/data/
socket=/tmp/mysql.sock
character-set-server=UTF8MB4
9、添加mysqld服务到系统
进行mysql安装文件目录
cd /opt/env/mysql8.0/mysql-8.0.20
cp -a ./support-files/mysql.server /etc/init.d/mysql
10、授权及添加服务
chmod +x /etc/init.d/mysql
chkconfig --add mysql
11、启动mysql服务
service mysql start
12、查看启动状态
service mysql status
13、将mysql命令添加到服务
ln -s /opt/env/mysql8.0/mysql-8.0.20/bin/mysql /usr/bin
如果存在则进行覆盖
ln -sf /opt/env/mysql8.0/mysql-8.0.20/bin/mysql /usr/bin
14、登录mysql
执行 mysql -uroot -p
之后输入前边的临时密码
15、修改root密码
后面的’root’为需要修改的密码
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root';
之后刷新一下权限
flush privileges;
16、修改远程登录生效
- 进入MySQL数据库
use mysql
- 修改权限 update user set host=‘%’ where user=‘root’;
- 刷新权限 flush privileges;
- 退出 exit;
17、开放防火墙端口
如果是云服务器,则需要在服务器上开启
如果是本地的话,则使用
firewall-cmd --add-port=3306/tcp --permanent
firewall-cmd --reload
18、使用远程客户端进行连接
这里我是使用navicat的
问题
1、bzip2: (stdin) is not a bzip2 file. tar: Child returned status 2 tar: Error is not recoverable: exiting now
先解压xz文件成tar xz -d 文件
2、在这里报错:./mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory
出现该问题首先检查该链接库文件有没有安装使用 rpm -qa|grep libaio命令进行核查
运行该命令后发现系统中无该链接库文件
使用命令,yum install libaio-devel.x86_64安装