# Linux 安装mysql8.0

安装目录在 /use/local

### 下载mysql

官网 

https://dev.mysql.com/downloads/mysql/ 选择linux

```
cd /use/local/
#在线下载
wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.20-linux-glibc2.12-x86_64.tar.xz
```

### 解压mysql 

```
tar xvJf mysql-8.0.21-linux-glibc2.12-x86_64.tar.xz
```

### 重命名文件夹 

```
mv mysql-8.0.21-linux-glibc2.12-x86_64 mysql8.0
```

### 创建data文件夹 存储文件 

```
cd /use/local/mysql8.0
mkdir data 
```

### 创建用户组以及用户和密码

```
groupadd mysql
useradd -g mysql mysql
```

### 授权用户

```
chown -R mysql.mysql /usr/local/mysql8.0
```

切换到bin目录下 

```
cd /usr/local/mysql8.0/bin
```

### 初始化基础信息

```
.mysqld --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --initialize
```

得到临时密码

### 编辑my.cnf文件

```
vim /etc/my.cnf


[mysqld]
    basedir = /usr/local/mysql
    datadir = /usr/local/mysql/data
    socket = /usr/local/mysql/mysql.sock
    character-set-server=utf8
    port = 3306
   sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
 [client]
   socket = /usr/local/mysql/mysql.sock
   default-character-set=utf8
```

### 创建mysql服务

将mysql.server启动文件复制到/etc/init.d目录，使用以下命令

```
cp -a /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
```

赋予权限，使用以下命令

```
chmod +x /etc/rc.d/init.d/mysqld
```

使用以下命令创建mysql服务。

```
chkconfig --add mysqld
```

检查mysql服务是否生效，使用chkconfig --list mysqld命令

```
chkconfig --list mysqld
```

### 配置全局环境变量

编辑/etc/profile文件，使用vim /etc/profile命令，在profile文件中添加如下两行配置，使用:wq命令保存后退出。

```
export PATH=$PATH:/usr/local/mysql/bin:/usr/local/mysql/lib
```

设置环境变量立即生效使用source /etc/profile命令。

```
source /etc/profile
```

### 启动mysql服务

启动mysql服务，使用service mysql start命令；使用service mysql status命令，查看是否启动成功。、

```
service mysql start
service mysql status
```

### 登录mysql修改密码

登录mysql数据库，使用mysql -uroot -p密码命令，临时密码是红色框里的

![image-20230424122657767](https://ye5201314-1312898079.cos.ap-guangzhou.myqcloud.com/image-20230424122657767.png)

修改mysql临时密码，也就是将第七步数据库初始化生成的临时密码修改成自己需要设置的密码。

修改mysql数据库密码，使用以下命令

```
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';
flush privileges;
```

注意：此处123456修改为自己的需要密码即可。

### 设置mysql远程登录

切换数据库，使用use mysql;命令。

修改mysql库中host值，使用update user set host='%' where user='root' limit 1;命令。

刷新mysql权限，使用flush privileges;命令。

```
use mysql;
update user set host='%' where user='root' limit 1;
flush privileges;
```

自行连接测试

```
mysql  -uroot    -p123456
```

