【MySQL】Linux安装MySQL81.说明2.

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. 相关链接