## linux安装mysql8.0.20
1.下载压缩包
传送门:<https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.20-linux-glibc2.12-x86_64.tar.xz>
或者直接从官网下载:<https://www.mysql.com/>
2.解压tar.xz包
①:我的目录是在
```
cd /usr/local
```
②:把tar.xz拖入,解压,解压命令
```
tar xvJf mysql-8.0.20-linux-glibc2.12-x86_64.tar.xz
```
③:解压成功后重命名
```
mv mysql-8.0.20-linux-glibc2.12-x86_64 mysql
```
3.配置文件
进入mysql的解压目录 cd /usr/local/mysql
①:创建文件夹
```
//数据文件目录
mkdir data
```
```
//创建日志目录文件
mkdir log
```
```
//查看当前目录
pwd
/usr/local/mysql/mysql
```
```javascript
//创建mysql用户组
创建用户组 groupadd mysql
创建用户useradd -g mysql mysql
chown -R mysql:mysql ./
进入/var/lib目录 cd /var/lib
创建mysql目录 mkdir mysql
修改权限 chmod 777 mysql
```
```
//编写数据库配置文件
vim /etc/my.cnf
```
②:输入以下配置,保存退出
```
[mysql]
#mysql客户端默认字符集
default-character-set=utf8
[mysqld]
#mysql忽略大小写
lower-case-table-names=1
#设置3306端口
port = 3306
socket=/var/lib/mysql/mysql.sock
#设置mysql的安装目录
basedir=/usr/local/mysql
#设置mysql数据库的数据的存放目录
datadir=/usr/local/mysql/data
#允许最大连接数
max_connections=200
#最大等待时间
wait_timeout=3153600
#服务端使用的字符集
character-set-server=utf8
#创建新表时将使用的默认存储引擎
default-storage-engine = InnoDB
#日志
#允许做大数据包
max_allowed_packet=16M
[client]
port=3306
socket=/var/lib/mysql/mysql.sock
```
③初始化mysql
```
./bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/
```
初始化失败,报错信息
```
./bin/mysqld: error while loading shared libraries: libnuma.so.1: cannot open shared object file: No such file or directory
```
出现上面的报错信息是缺少:numactl 执行下方命令即可解决
```
yum -y install numactl
```
重新初始化mysql
```
./bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/
```

**初始化mysql密码如上图,记住它!!!**
4.设置开机自启动
复制脚本资源到启动目录
```
cp ./support-files/mysql.server /etc/rc.d/init.d/mysqld
```
增加mysql服务控制脚本权限
```
chmod +x /etc/rc.d/init.d/mysqld
```
将 mysqld 服务加入到系统服务
```
chkconfig --add mysqld
```
检查mysqld服务是否已经生效
```
chkconfig --list mysqld
```
成功出现下图效果

5.配置环境变量
```
vim /etc/profile
//添加如下一行
export PATH=/usr/local/mysql/bin:$PATH
//使配置文件生效
source /etc/profile
```
6.启动mysql
```
service mysqld start
```

7.登录mysql
```
mysql -uroot -p
```
登录密码在3③的图中
①:修改初始化密码
```
ALTER USER 'root'@'localhost' IDENTIFIED BY '你的密码';
```
②:如果有开启防火墙,就要开启防火墙端口 3306 使其可远程访问,没有请忽略
```
[root@VM_0_9_centos mysql]# firewall-cmd --zone=public --add-port=3306/tcp --permanent;
[root@VM_0_9_centos mysql]# firewall-cmd --reload;
```
③:开启数据库远程连接
```
CREATE USER 'root'@'%' IDENTIFIED BY '密码'; //默认的密码认证插件caching_sha2_password
GRANT ALL ON *.* TO 'root'@'%';
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '密码';
FLUSH PRIVILEGES;
```
④:使用navicat登录后如下

至此,mysql在服务器安装成功

linux安装mysql8.0.20