官方下载mysql8包
1.选择自己相对应的系统
2.下载相对应的压缩包
将本地下载好的包上传的服务器上
这块就没啥好说的了
解压安装包和初始化数据库
1.解压安装包
tar -xzvf mysql-8.0.28-el7-x86_64.tar.gz
2.将压缩包移动到/usr/local/目录下,并改名为mysql
mv mysql-8.0.28-el7-x86_64 /usr/local/mysql
3、创建mysql用户
useradd -s /sbin/nologin mysql -M
4、赋予/usr/local下面的mysql文件夹权限
chown -R mysql.mysql /usr/local/mysql
5、新建一个文件夹存储数据、并授权
mkdir -p /usr/local/mysql/data
chown -R mysql.mysql /usr/local/mysql/data
chmod -R 775 /usr/local/mysql/data
6、编辑my.cnf文件,这里本是linux服务器上面没有这个文件vim编辑的时候回自动创建
vim /etc/my.cnf
#这个只是简单的配置
[mysqld]
#datadir=/var/lib/mysql
#socket=/var/lib/mysql/mysql.sock
# Disabling symbolic-links is recommended to prevent assorted security risks
#symbolic-links=0
# Settings user and group are ignored when systemd is used.
# If you need to run mysqld under a different user or group,
# customize your systemd unit file for mariadb according to the
# instructions in http://fedoraproject.org/wiki/Systemd
#port
port=3306
#set setup dir
basedir=/usr/local/mysql
#data dir
datadir=/usr/local/mysql/data
max_connections=200
default-storage-engine=INNODB
max_allowed_packet=100M
character-set-server=utf8
#不区分表名大小写
lower-case-table-names=1
7.初始化数据
./mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --lower-case-table-names=1
圈红的位置是数据库root用户密码要记住,登录用
2022-04-01T09:26:40.753657Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: nH%ak1>&qe<f
8.启动数据库
cd /usr/local/mysql/support-files
./mysql.server start
看到这个就证明启动成功
三、登录数据库进行密码修改及授权
1、创建软连接(实现可直接命令行执行mysql)
ln -s /usr/local/mysql/bin/mysql /usr/bin
2、登录数据库
mysql -uroot -p
这里会提示要登录密码,输入步骤7截图里面标红的密码回车即可
3、这里使用数据库会提示要修改密码,先修改密码
ALTER USER 'root'@'localhost' IDENTIFIED BY 'root123';
flush privileges;
在执行 show databases; 就不会报错了
4、授权远程连接
创建远程登录用户:CREATE USER 'root'@'%' IDENTIFIED BY 'root123';
授权远程用户权限: GRANT ALL PRIVILEGES ON . TO 'root'@'%' WITH GRANT OPTION;
修改完后刷新一下:flush privileges ;
5、用Navicat连接MySQL遇到的问题
修改一下登录密码方式即可:
use mysql;
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root123';
flush privileges ;