实战--Alibaba Cloud Linux 3 在线安装 mysql 8.0.21

一、整体思路

主要内容:使用dnf 在线安装

  1. 删除已有的mysql
  2. 使用dnf在线安装
    1. 确认本地是否有mysql的rpm包以及对应的版本信息
    2. 使用dnf命令安装
  3. 配置数据库参数
    1. 查找mysql的配置文件
    2. 修改my.cnf
  4. 启动数据库服务
  5. 初始化数据库
  6. 配置数据库的连接信息
    1. 创建用户
    2. 配置用户的权限
    3. 配置navicat客户端的远程连接

特别注意:

  1. 在启动数据库服务之前,一定要先配置my.cnf。有些参数配置,一旦第一次启动服务后,就无法再次配置了。比如 大小写敏感参数(lower_case_table_names)!!!

二、系统环境

# 查看系统版本
cat /etc/redhat-realse

1637211341(1).png

三、具体操作

1、检查并清除以前的mysql相关文件

提醒:这是很重要的工作,一定要不能略过。

  1. 查看并卸载mysql的安装包。
    1. 执行命令:dnf list installed | grep mysql 。或者使用对应的rpm命令。 如果有内容,则使用 dnf remove 包名 卸载。
    2. 执行命令:find / -name mysql 。如果有内容,则使用 rm -rf 文件路径 删除文件。

1637216748(1).jpg
1637217900(1).png

拓展:

1. dnf list installed  表示查询所有安装过的rpm包 
2. grep mysql  表示使用正则表达式查询包含关键字mysql的内容
3. 分别开repository 和 package的关系。 rpm包包含在repository中,这也是 dnf repolist 和 dnf list 的区别
4. whereis、which、find、location的区别和用法  https://www.cnblogs.com/kex1n/p/5233821.html
5. rpm ,yum ,dnf 之间的区别和关系  https://www.ywnz.com/linux/6252.html 

2、使用dnf安装

查找系统是否包含mysql的rpm包。
  1. 查找系统是否包含mysql的rpm包。http://ipcmen.com/dnf
    1. 如果没有mysql-server的rpm包,也可以去官网查找对应的rpm地址,然后安装。
dnf search mysql   //查询包含mysql关键字的rpm
  1. 查看具体的mysql server的版本信息
dnf info mysql-server
  1. 安装
dnf install -y mysql-server

拓展:

在系统的rpm包中,一定要区分 mysql 和 mysql-server 
Linux系统-RPM包详解  https://www.cnblogs.com/luodenglin/p/11888751.html

1637218964(1).png
1637219262(1).png
1637219566(1).png

3、配置数据库参数

  1. 查找数据库的默认配置文件的读取位置
mysql --help | grep my.cnf

#说明,按优先级加载my.cnf

image.png

  1. 修改my.cnf
#
# This group is read both both by the client and the server
# use it for options that affect everything
#
[client-server]

#
# include all files from the config directory
#
!includedir /etc/my.cnf.d                

[mysqld]

#数据库默认字符集,主流字符集支持一些特殊表情符号(特殊表情符占用4个字节)
character-set-server = utf8mb4
 
#数据库字符集对应一些排序等规则,注意要和character-set-server对应
collation-server = utf8mb4_general_ci
 
#设置client连接mysql时的字符集,防止乱码
init_connect='SET NAMES utf8mb4'
 
#是否对sql语句大小写敏感,1表示不敏感
lower_case_table_names = 1
 
#最大连接数
max_connections = 400
 
#最大错误连接数
max_connect_errors = 1000

#MySQL连接闲置超过一定时间后(单位:秒)将会被强行关闭
#MySQL默认的wait_timeout  值为8个小时, interactive_timeout参数需要同时配置才能生效
interactive_timeout = 1800
wait_timeout = 1800

拓展:

mysql配置文件的读取:
1. 启动服务时,使用指定的配置文件
  a. 启动命令 mysqld --defaults-file=/etc/my.cnf --user=root
  b. 查看是否指定文件命令 ps aux|grep mysql|grep 'my.cnf'
2. 默认读取默认的my.cnf配置文件
  a. 查询对应的默认文件夹  mysql --help|grep 'my.cnf'
  b. 在my.cnf中,还可以通过包含其他配置文件的路径的方式,调用另外的配置

4、启动数据库服务同时设置开机自启动

systemctl enable --now mysqld

拓展:

systemctl 相关:

  1. Systemctl能够管理的单元包括:服务(.service),挂载点(.mount),套接口(.socket)和设备(.device)作为单元。
  2. 单位的目录:/usr/lib/systemd/system(Centos)或/etc/systemd/system(Ubuntu)
  3. systemctl命令兼容了service,即systemctl也会去/etc/init.d目录下,查看,执行相关程序。
  4. Linux 服务管理有两种方式 service和systemctl

systemctl 命令完全指南
linux中systemctl详细理解及常用命令

5、初始化数据库

mysql_secure_installation

依次需要判断的内容:
	配置验证密码组件,输入 y 
  配置密码验证等级,可以输入 0 、1 、2 ,分别对应三个等级。
  输入密码,需要输入两次,页面上不会显示出你输入的密码,输入完之后按回车即可
  确认使用该密码,输入 y
  是否移除匿名用户,输入 y
  是否禁止root用户远程登录  如果需要远程登录,请输入 n
  是否移除测试数据库,输入 y
  是否重载权限表,输入 y

6、配置数据库的连接信息

mysql -uroot -p   通过新密码再次登陆
create user 'root'@'%' identified by '新密码';    授予远程访问权限
grant all privileges on *.* to 'root'@'%';  授予远程访问权限
flush privileges;  授予远程访问权限
alter user 'root' @'%' identified with mysql_native_password by '新密码'; 授权mysql_native客户端工具

说明

#指定某个用户关于具体表的权限
grant all privileges on 数据库名.* to '用户名'@'%';  
特别注意:

_ 如果还是无法通过客户端远程连接到数据库,可以检查一下防火墙是否禁用3306端口。另外,新买的阿里云服务器,要主要是否配置对应的安全组策略。_

  • 11
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
`spring-cloud-alibaba-dependencies`是一个Maven BOM(Bill of Materials),包含了Spring Cloud Alibaba的所有依赖版本。通过引入`spring-cloud-alibaba-dependencies`,可以简化Spring Cloud Alibaba项目的依赖管理。它提供了以下依赖: - `spring-cloud-alibaba-dependencies`:Spring Cloud Alibaba版本管理器 - `spring-cloud-starter-alibaba-nacos-discovery`:Nacos服务发现 - `spring-cloud-starter-alibaba-nacos-config`:Nacos配置中心 - `spring-cloud-starter-alibaba-sentinel`:Sentinel限流熔断 - `spring-cloud-starter-alibaba-seata`:Seata分布式事务 - `spring-cloud-starter-alibaba-rocketmq`:RocketMQ消息队列 - `spring-cloud-starter-alibaba-dubbo`:Dubbo远程调用 使用`spring-cloud-alibaba-dependencies`需要在`pom.xml`文件中引入如下配置: ```xml <dependencyManagement> <dependencies> <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-alibaba-dependencies</artifactId> <version>2.2.1.RELEASE</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement> ``` 引入该依赖后,其他Spring Cloud Alibaba组件的依赖版本就可以省略了。例如,使用Nacos作为服务发现和配置中心,只需要引入以下依赖: ```xml <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId> </dependency> <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId> </dependency> ``` Spring Cloud Alibaba会自动使用`spring-cloud-alibaba-dependencies`中定义的版本。
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值