Linux安装MySQL8
一、准备安装包
1.官网下载安装包
https://dev.mysql.com/downloads/mysql/
这里我下载的是64位版本,且注意是tar.xz格式的压缩包

2.将下载好的安装包放到服务器/usr/local目录下

二、开始安装
#进入usr/local目录
cd /usr/local/
1.将.xz解压为.tar
xz -d mysql-8.0.31-linux-glibc2.12-x86_64.tar.xz
2.将.tar解压为普通文件
tar -xvf mysql-8.0.31-linux-glibc2.12-x86_64.tar

3.重命名文件夹
mv mysql-8.0.31-linux-glibc2.12-x86_64 mysql8

4.进入mysql8文件目录,创建data文件夹存放数据
cd mysql8
mkdir data
5.创建 mysql 用户组和 mysql 用户,并设置目录权限
groupadd mysql
useradd -g mysql mysql
chown -R mysql.mysql /usr/local/mysql8/
6.初始化数据库
bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql8 --datadir=/usr/local/mysql8/data
注:运行指令后将会出现如下输出,记住临时密码,每次运行上述指令生成的临时密码都不一样,我这里是:BR9Z6seB%P7z

7.编辑配置文件my.cnf
vim /etc/my.cnf
[mysqld]
basedir=/usr/local/mysql8
datadir=/usr/local/mysql8/data
socket=/tmp/mysql.sock
character-set-server=utf8
default_authentication_plugin=mysql_native_password
port=3306
ESC退出编辑,:wq保存退出
8.创建MySQL服务
# 添加Mysql到系统服务(当前目录应为:/usr/local/mysql8)
cp -a ./support-files/mysql.server /etc/init.d/mysql
chmod +x /etc/init.d/mysql
chkconfig --add mysql
# 检查服务是否生效
chkconfig --list mysql

三、启动服务调整配置
启动服务
#启动服务
service mysql start
#查看状态
service mysql status

修改密码
#登录mysql可能会出现如下错误

解决办法:
ln -s /usr/local/mysql8/bin/mysql /usr/bin

#登录mysql
mysql -uroot -p
#输入或粘贴之前记录的临时密码并回车:BR9Z6seB%P7z

#修改密码
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密码';

添加远程登录配置
create user root@'%' identified by '新密码';
grant all privileges on *.* to root@'%' with grant option;
#刷新权限
flush privileges;
#查看设置结果
use mysql;
select host,user,plugin,authentication_string from user;

四、添加全局环境变量
#编辑 / etc/profile 文件
vi /etc/profile
#在文件底部添加,保存退出
export PATH=$PATH:/usr/local/mysql8/bin:/usr/local/mysql8/lib
export PATH
#刷新配置
source /etc/profile