写在前面

在Linux系统下安装软件的方式有几种:

1.自己在官方网站下载对应的Linux安装文件,利用WinSCP或者Xsell这类软件通过sftp协议上传到你的Linux系统中,再通过rpm或者yum命令去装。

2.在你的Linux服务器上直接下载所需要的文件然后安装,一般用wget命令。

[root@localhost ~]# wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm

3.当前的Alibaba Cloud Linux 3,是已经继承rpm、yum、以及dnf的,你可以把这三个命令当作是linux安装和卸载的工作,或者理解成一个应用商店,你通过指定命令就可以安装你要的软件。

本次介绍的过程也是我作为一个新手在网上学习并实践的过程。我这次是通过dnf的方式去做的。这也是目前最主流的方式,缺点就是按照命令装的MySQL是最新版本的8.0,我还没有搞定如何制定版本。

(6条消息) 实战--Alibaba Cloud Linux 3 在线安装 mysql 8.0.21_SaylorLee的博客-CSDN博客

这条博客给了我很大帮助,我的内容有从新手阶段碰到问题的处理办法。

安装过程

第一步、检查并删除已有的mysql,如果是新购买的阿里云,可以跳过。

提醒:这是很重要的工作。

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

如果有,就要逐个删除,具体的删除命令,我就不写,因为每个人的版本号和路径不太一致。

扩展

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

第二步、使用dnf安装

1、先查询你要安装的MySQL相关信息,也可以直接忽略之一步

dnf search mysql   //查询包含mysql关键字的rpm


查看具体的mysql server的版本信息
dnf info mysql-server

可以看到MySQL的版本是8.0 ,这里我的理解是dnf查询了远程的仓库,返回了这些数据,当然这也是我个人的理解,不见得很准确。如果错了,请在评论区告诉我。
2、安装

dnf install -y mysql-server

执行命令后会出现下面这张图的内容,我现在是回顾这个步骤,没有重新安装,因此这张图片是我转发的。

第三步、配置mysql数据库参数

1、查找数据库的默认配置文件的读取位置

mysql --help | grep my.cnf#说明,按优先级加载my.cnf

执行结果如下,有三个路径,这三个路径是逐级包含的关系。

写到这里就要说明一些,确实有一些朋友只知道基本的Linux命令,现在知道文件路径了,不知道怎么编辑,这里要用到vim命令

vim /etc/my.cnf
#用编辑器打开这个配置文件

你执行这个命令后应该是没有内容的,具体的内容需要我们自己写,[mysqld]这一行和后面的内容都是需要我们自己动手写的,你也可以复制过去根据需要改一下。

#
# 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
[mysqld]
# 设置3306端口
port=3306
# 设置mysql的安装目录
basedir=/usr/local/mysql
# 设置mysql数据库的数据的存放目录
datadir=/usr/local/mysql/mysqldb
# 允许最大连接数
max_connections=1000
# 允许连接失败的次数。这是为了防止有人从该主机试图攻击数据库系统
max_connect_errors=100
# 服务端使用的字符集默认为UTF8
character-set-server=utf8mb4
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# 默认使用“mysql_native_password”插件认证
default_authentication_plugin=mysql_native_password
#是否对sql语句大小写敏感,1表示不敏感
lower_case_table_names = 1
#MySQL连接闲置超过一定时间后(单位:秒)将会被强行关闭
#MySQL默认的wait_timeout  值为8个小时, interactive_timeout参数需要同时配置才能生效
interactive_timeout = 1800
wait_timeout = 1800
#Metadata Lock最大时长(秒), 一般用于控制 alter操作的最大时长sine mysql5.6
#执行 DML操作时除了增加innodb事务锁外还增加Metadata Lock,其他alter(DDL)session将阻塞
lock_wait_timeout = 3600
#内部内存临时表的最大值。
#比如大数据量的group by ,order by时可能用到临时表,
#超过了这个值将写入磁盘,系统IO压力增大
tmp_table_size = 64M
max_heap_table_size = 64M
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8mb4
[client]
# 设置mysql客户端连接服务端时默认使用的端口
port=3306
default-character-set=utf8mb4

退出vim的命令,要在vim输入命令,要按一下键盘的Esc键。如果确认无误,要保存的话,:qw   如果不要保存直接退出的话  :q!

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中,还可以通过包含其他配置文件的路径的方式,调用另外的配置
————————————————
版权声明:本文为CSDN博主「SaylorLee」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/zzulishulei/article/details/121404906

第四步,启动服务

systemctl enable --now mysqld

这一步操作不会返回任何信息,没有报错就代表服务启动了。但是目前还不能用,需要下一步。

第五步、初始化数据库

mysql_secure_installation

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

第六步、配置数据库的连接信息

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客户端工具

给指定用户授权,如果为了安全考虑可以创建用户的时候避免使用root这个名字,用你自己中意的

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

特别注意:

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

Alibaba Cloud Linux 3安装MySql8.0过程及配置相关推荐

  1. 阿里云官方推出操作系统“等保合规”镜像 -- Alibaba Cloud Linux 等保2.0三级版

    前言 Alibaba Cloud Linux 2(原Aliyun Linux 2)是阿里云操作系统团队为云应用场景打造的一款云操作系统.随其发展,使用该系统的用户对安全的需求也不断增加.另一方面,根据 ...

  2. Linux下安装MySQL8.0的详细步骤

    Linux下安装MySQL8.0的详细步骤 第一步:下载安装配置 第二步:修改密码,并设置远程连接(为了可以在别的机器下面连接该mysql) 搞了一台云服务器,首先要干的活就是得安装数据库,在Wind ...

  3. 如何在Linux下安装MySQL8.0

    如何在Linux下安装MySQL8.0 准备工作: mysql8.0 rpm文件 测试工具(比如 idea的database工具) 安装步骤: 1.     下载mysql的repo源,下载地址:ht ...

  4. docker安装mysql8,Docker安装Mysql8.0,并配置忽略大小写

    1.拉取镜像 //拉取mysql镜像 docker pull mysql//查看镜像 docker images 2.启动mysql $ docker run --name mysq.db -p 33 ...

  5. Docker安装Mysql8.0,并配置忽略大小写,一句命令搞定

    Docker安装Mysql8.0,并配置忽略大小写,一句命令搞定 docker run --name mysql8.db -p 3307:3306 -e MYSQL_ROOT_PASSWORD=Csd ...

  6. 在Ubuntu20.04上安装MySQL8.0及正确配置[已验证]

    在Ubuntu20.04上安装MySQL8.0及正确配置[已验证] 安装MySQL 验证 登陆MySQL 创建db 解决workbench连接的问题 小结 常用操作 如何新增用户 对新增的用户更改加密 ...

  7. 实践:Linux下安装mysql8.0

    目录 前言 一.下载mysql8.0安装包 1.在local创建mysql文件夹 2.使用wget下载mysql8.0的xz安装包 二.解压mysql8.0安装包 1.解压 2.重命名解压后的mysq ...

  8. MySQL8.0安装教程,在Linux环境安装MySQL8.0教程,最新教程 超详细

    在Linux系统安装MySQL8.0,网上已经有很多的教程了,到自己安装的时候却发现各种各样的问题,现在把安装过程和遇到的问题都记录下来. 需要说明的一点是我使用的是SSH secure shell ...

  9. linux环境安装mysql8.0以及使用Navicat连接Linux中的mysql

    目录 一.linux环境安装mysql 二.使用Navicat连接Linux中的mysql 一.linux环境安装mysql 1.官网下载mysql对应的包,我这下载的是8.0.28版本.官网链接:M ...

最新文章

  1. python终端中退格键,方向键不能使用
  2. mysql密码修改脚本
  3. Springboot之多环境打包配置
  4. 关于Python课程
  5. 解析利用wsdl.exe生成webservice代理类的详解
  6. linux常用指令总结一~~
  7. 客户端产生CLOSE_WAIT状态的解决方案
  8. Mysql运维管理-一主多从宕机从库切换主库继续和从库同步过程16
  9. 全国计算机二级雷同卷怎么处理,信息系统项目管理师考试结束后,雷同卷怎么判定你知道吗?...
  10. SQL Server高级查询之数据查询和操作(DDL和DML)
  11. linux访问db2数据库操作命令行,DB2数据库基本操作指令30条
  12. Kinetics数据集下载
  13. matlab中如何定义数组,matlab中如何定义一个数组为全局变量?
  14. Robotium 常用方法
  15. xxl-job分布式任务调度平台
  16. 2022-2028年中国SPA水疗行业市场深度分析及投资前景展望报告
  17. 【机器学习】(十)核支持向量机SVM:make_blobs方法,hstack() 函数
  18. 性能优化--JS、CSS压缩合并
  19. 什么是软件测试?零基础入门知识要点总结篇,5分钟带你快速了解
  20. matlab moveverage,MATLAB在数字图像处理课程教学中的应用

热门文章

  1. matlab mcl,wsn定位蒙特卡洛方法mcl的matlab
  2. RMAN crosscheck command作用
  3. 【MDX】一文带你搞懂SQL Server Analysis Services 的安装和使用
  4. android view.isshown,android View.isShown() 和 getVisibility() 的区别
  5. 时间很快,请多做有意义的事情
  6. ServerSocket通过构造方法绑定端口
  7. awd的批量脚本 pwn_北极星杯 awd复现
  8. 密码学常见困难问题DLP,CDH,DDH,GDH,BDH,CBDH,DBDH,GBDH,更新中
  9. 2022面试Android之ThreadLocal
  10. 人工智能芯片龙头之一gti概念股_AI芯片相关股票有哪些?AI芯片概念股票龙头一览...