【MySQL】Linux安装MySQL8

1,569 阅读1分钟

1. 说明

  之前在Linux(虚拟机)上安装MySQL8时花了挺长时间,也遇到挺多问题,于是想记录一下具体安装步骤,以供下次安装参考。本文的MySQL压缩包是mysql-8.0.19-linux-glibc2.12-x86_64.tar

2. 具体步骤

1、在/usr/local下解压压缩包,并把文件夹改名为mysql

# 解压
tar -xvf mysql-8.0.19-linux-glibc2.12-x86_64.tar

# 改名
mv mysql-8.0.19-linux-glibc2.12-x86_64 mysql

2、改名后,进入mysql文件夹,创建新文件夹,命名为data

mkdir data

3、创建用户和组,并改变mysql目录的拥有者

groupadd mysql 
useradd -r -g mysql mysql
chown -R mysql:mysql /usr/local/mysql

4、修改/etc/my.cnf文件,若无则手动创建

[mysqld]
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
socket=/usr/local/mysql/mysql.sock

5、进入/usr/local/mysql/bin,初始化数据库,并保存好临时密码

./mysqld --initialize --user=mysql

022-01.png

6、后台启动MySQL

./mysqld --user=mysql &

7、使用临时密码登录

./mysql -uroot -p

  这一步可能会报错:ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)

  解决方案:给自动生成的mysql.sock建立一个软链接

ln -s /usr/local/mysql/mysql.sock /tmp/mysql.sock

8、登录后,修改密码

alter user `root`@`localhost` identified by '123456';

9、创建用户并修改权限,以便在其它机器进行访问

create user `root`@`%` identified by '123456';

-- 给在localhost登录的root用户开放权限
grant all privileges on *.* to `root`@`localhost`;

-- 给在任意机器登录的root用户开放权限
grant all privileges on *.* to `root`@`%`;

flush privileges;

10、给防火墙开放3306端口

firewall-cmd --zone=public --add-port=3306/tcp --permanent

3. 相关链接