1)从服务器下载mysql8安装包,或者上传一个mysql安装包tar,并且解压
2)安装aio的依赖包
yum install -y libaio
3)把解压的文件放到默认的安装目录下/usr/localmysql
4)创建以下文件夹和文件
4.1)存放实际表数据
/usr/local/mysql/data
4.2)存放log日志
/usr/localmysql/log/mysqld_3306.log
4.3)新建一个pid文件,pid主要为了防止重复启动mysql
/usr/localmysql/mysqld_3306.pid
4.4)新建一个sock文件,用于在本地客户端访问mysql服务使用,在my.cnf中可以看到[client]和[mysqld]使用相同的socket=/usr/local/mysql/mysql_3306.sock文件,所以本地区别与网络连接,是客户端和服务端使用sock文件连接
/usr/localmysql/mysql_3306.sock
5)设置mysql的权限问题
# 创建mysql组
$ groupadd mysql
# 创建mysql用户并且加到mysql组
$ useradd -g mysql mysql
# 为mysql文件夹调整权限
chown -R mysql:mysql /usr/local/mysql/
6)my.cnf
mysq默认的配置文件的读取是/etc/my.cnf,创建此文件,暂时先把log-error参数注释掉,否则初始化数据库产生默认密码的时候,不会控制台打印
[client]
port=3306
socket=/usr/local/mysql/mysql_3306.sock
[mysqld]
datadir=/usr/local/mysql/data/
socket=/usr/local/mysql/mysql_3306.sock
user=mysql
pid-file=/usr/local/mysql/mysqld_3306.pid
#log-error=/usr/local/mysql/log/mysqld_3306.log
port=3306
7)初始化数据库,得到初始密码
/bin/mysqld --defaults-file=/etc/my.cnf --initialize --console --user=mysql
控制台会打印root用户的初始密码.XXk8#t3tel5
2020-10-14T11:27:38.224941Z 0 [System] [MY-013169] [Server] /usr/local/mysql/bin/mysqld (mysqld 8.0.19) initializing of server in progress as process 3632
2020-10-14T11:27:40.480080Z 5 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: .XXk8#t3tel5
8)启动mysql(注意:这是可以把log-error放开了)
./support-files/mysql.server start
9)本地连接mysql
./bin/mysql -uroot -p.XXk8#t3tel5
10)用户和密码
10.1)修改root密码
alter user 'root'@'localhost' identified by 'newpassword';
10.2)创建一个可以远程网络登录的用户
CREATE USER 'user001'@'%' IDENTIFIED BY 'user001password';
如果是mysql8,密码加密有不同,如navcat等远程连接有问题,需要修改指定为mysql_native_password来生成密码
alter USER 'user001'@'%' IDENTIFIED WITH mysql_native_password BY 'user001password';
10.3)创建数据库,并把所有表、增删改查的权限授权给这个用户user001
CREATE DATABASE IF NOT EXISTS MYDB
-> DEFAULT CHARACTER SET utf8
-> DEFAULT COLLATE utf8_general_ci;
GRANT ALL ON MYDB.* TO 'user001'@'%';