2-CentOS安装MySQL8.0

本文详细介绍了在CentOS服务器上下载、安装MySQL8.0的步骤,包括使用RPM包安装,初始化服务,设置自启动,以及修改root密码。同时,文章还涵盖了通过Navicat远程连接数据库的配置,包括防火墙设置和用户权限管理。
摘要由CSDN通过智能技术生成

1.下载MySQL8.0安装包

1.1 -下载MySQL

1.2-解压下载的安装包

1.3-抽取压缩包

1.4-将压缩包上传至CentOS服务器/opt/路径下

 2.安装MySQL8.0

2.1-在mysql的安装文件目录下执行(严格按照顺序执行,按以下操作

rpm -ivh mysql-community-common-8.0.33-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-plugins-8.0.33-1.el7.x86_64.rpm
yum remove mysql-libs 
选择y同意
rpm -ivh mysql-community-libs-8.0.33-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-8.0.33-1.el7.x86_64.rpm
rpm -ivh mysql-community-icu-data-files-8.0.33-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-8.0.33-1.el7.x86_64.rpm

 (上述仅为作者版本,请以自身实际下载版本号为准

2.2-验证是否安装MySQL8.0成功

mysql --version

3.配置MySQL8.0

3.1-服务初始化

为了保证数据库目录与文件的所有者为mysql登录用户,如果是以root身份运行MySQL用户,需要执行下面的命令初始化

mysqld --initialize --user=mysql

 说明:--initialize选项默认以"安全"模式来初始化,则会为root用户生成一个密码并将该密码标记为过期,登录后你需要设置一个新的密码。生成的临时密码会往日志中记录一份

cat /var/log/mysqld.log

上述操作请以自身实际产生的临时密码为准) 

3.2-查看MySQL服务运行状态

systemctl status mysqld

 3.3-启动MySQL服务

systemctl start mysqld

3.4-查看MySQL服务是否自启动

systemctl list-unit-files | grep mysqld.service

默认是enabled,如果不是enabled,可以执行如下命令设置自启动

systemctl enable mysqld.service

 如果不希望设置自启动,可使用如下命令

systemctl disable mysqld.service

3.5-使用临时密码登录MySQL

临时密码即为3.1步骤生成的

3.6-修改MySQL密码

-- BY后面引号里的内容,即123456,可根据自身需要进行设置
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';

退出MySQL(quit)之后,重新登录MySQL

4.远程Navicate连接数据库及配置

(注意:Navicate连接远程数据库,可以选择关闭服务器防火墙,也可选择不关闭,只需打开相应防火墙端口即可,以下均会进行操作,二者选其一即可)

 4.1-查看防火墙状态并关闭

// 1-查看防火墙状态
systemctl status firewalld
// 2-关闭防火墙
systemctl stop firewalld
// 3-设置服务器开机默认关闭防火墙
systemctl disable firewalld

4.2-不关闭防火墙,设置打开相应端口

// 未开启防火墙的状态下,为安全起见,先开启防火墙
systemctl start firewalld

// 开启指定端口,MySQL默认端口3306
firewall-cmd --zone=public --add-port=3306/tcp --permanent

// 重启防火墙
systemctl restart firewalld.service

// 重新加载防火墙
firewall-cmd --reload
// 显示 success 表示成功

// 查看已开启的端口
firewall-cmd --list-ports

// 补充
// 关闭指定端口操作
firewall-cmd --zone=public --remove-port=8080/tcp --permanent
systemctl restart firewalld.service
firewall-cmd --reload

4.3- 远程配置

  • 重新登录MySQL
  • 查看当前数据库
  • 选择数据库mysql
  • 查看当前user表
  • 修改user='root'条件下host为%,表示任意用户均可连接
SHOW databases;
USE mysql;
SELECT host,user FROM user;
UPDATE user SET host='%' WHERE user='root';
FLUSH PRIVILEGES;

4.4-添加用户及配置权限

MySql8有新的安全要求,不能像之前的版本那样一次性创建用户并授权,需要先创建用户,再进行授权操作

4.4.1-创建新用户
use mysql;
 
// create user 'username'@'host' identified by 'password'; 
/*  其中username为自定义的用户名;
    host为登录域名,
    host为'%'时表示为任意IP;为localhost时表示本机;或者填写指定的IP地址
    paasword为密码
*/
create user 'crawler'@'%' identified by '123456'; 
4.4.2-为用户授权
// grant all privileges on *.* to 'username'@'%' with grant option;

// 以下数据库读取权限,根据自身需要自行配置
 
// all privileges表示授予所有权限,即增删改查
grant all privileges on *.* to 'crawler'@'%' with grant option; 

// 可以指定单个权限,SELECT、INSERT、UPDATE、DELETE,根据需要自行配置
grant SELECT on *.* to 'crawler'@'%' with grant option; 
grant INSERT on *.* to 'crawler'@'%' with grant option; 
grant UPDATE on *.* to 'crawler'@'%' with grant option; 
grant DELETE on *.* to 'crawler'@'%' with grant option; 

// 如果需要多个权限
grant SELECT,INSERT on *.* to 'crawler'@'%' with grant option;
4.4.3-授予权限之后,刷新权限
 flush privileges; 
4.4.4-撤销权限
// 收回权限(不包含赋权权限)
// REVOKE ALL PRIVILEGES ON *.* FROM username;
// REVOKE ALL PRIVILEGES ON user_name.* FROM username;
REVOKE ALL PRIVILEGES ON *.* FROM crawler;
REVOKE ALL PRIVILEGES ON username.* FROM username;

// 收回赋权权限
// REVOKE GRANT OPTION ON *.* FROM user_name;
REVOKE GRANT OPTION ON *.* FROM username;

// 操作完后重新刷新权限
flush privileges;

4.5-获取服务器地址,并使用Navicat远程连接即可

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值