同一台电脑上部署两个解压版的MySQL数据库_一台电脑上怎么部署不同版本mysql

先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7

深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年最新Golang全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上Go语言开发知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

如果你需要这些资料,可以添加V获取:vip1024b (备注go)
img

正文

1 MySQL下载

1.1 官网地址

https://www.mysql.com/cn

1.2 进入下载页面

1.2.1点击下载按钮

在这里插入图片描述

1.2.2 下拉页面找到 MySQL Community (GPL) Downloads »

点击进入
在这里插入图片描述

1.2.3 找到 Download Archives

点击进入
在这里插入图片描述

1.2.4 找到第一项 MySQL Community Server

点击进入
在这里插入图片描述

1.2.5 来到下载页面

选择版本和操作系统后,即可下载。
在这里插入图片描述

2 MySQL5.X.X安装

将免安装版的Mysql解压到希望安装的目录。本次示例选择的目录是:D:\Software\MySQL

2.1 编写配置文件

如果解压后的mysql安装包里有my-default.ini,则复制一份改为my.ini;如果没有my-default.ini则新建一个my.ini文件。

my.ini内容:

[mysql]

设置mysql客户端默认字符集

default-character-set=utf8
[mysqld]
#设置3357端口
port = 3357

设置mysql的安装目录和数据存放目录

basedir=D:\Software\MySQL\mysql-5.7.37-winx64
datadir=D:\Software\MySQL\mysql-5.7.37-winx64\data

允许最大连接数

max_connections=200

服务端使用的字符集默认为UTF8

character-set-server=utf8

创建新表时将使用的默认存储引擎

default-storage-engine=INNODB

sql_mode=‘STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION’

注意:my.ini还需要加跳过密码登录的配置,否则在初次登陆时会报:ERROR 1045 (28000): Access denied for user 'ODBC'@'localhost' (using password: NO)

完整版my.ini

[mysql]

设置mysql客户端默认字符集

default-character-set=utf8
[mysqld]
#设置3357端口
port = 3357

设置mysql的安装目录和数据存放目录

basedir=D:\Software\MySQL\mysql-5.7.37-winx64
datadir=D:\Software\MySQL\mysql-5.7.37-winx64\data

允许最大连接数

max_connections=200

服务端使用的字符集默认为UTF8

character-set-server=utf8

创建新表时将使用的默认存储引擎

default-storage-engine=INNODB
#跳过数据库权限验证 skip the password
skip_grant_tables

sql_mode=‘STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION’

附:
basedir:mysql的安装目录;
datadir:mysql存放数据库的目录。
port:如果只安装一个mysql,port默认就使用3306就好,如果再安装第二个,则port需要更改为其他端口。

2.2 安装MySQL

以管理员身份运行cmd,进入MySQL的bin目录下。

2.2.1 初始化

输入mysqld --initialize-insecure --user=mysql回车,此时在MySQL根目录下会生成一个data文件夹。

2.2.2 安装MySQL服务

1、如果是只安装一个mysql,直接执行mysqld install即可;
2、如果是安装两个以上的mysql,执行mysqld install MySQL57 --defaults-file="D:\Software\MySQL\mysql-5.7.37-winx64\my.ini"(示例);

MySQL57可改为任意名称,它是安装后的MySQL服务名;
defaults-file=“my.ini的存放目录”。

2.2.3 查看注册表

1、运行——regedit打开注册表,到HKEY_LOCAL_MACHINE–>SYSTEM–>CurrentControlSet–>Services 下找到mysql名称的注册表。
2、查看mysqld.exe文件和my.ini文件是否是本次安装mysql时的文件,如果不是一定要修改,不然在启动mysql服务时会报错,并且无法成功启动。

在这里插入图片描述

2.3 启动运行 MySQL

注意:
1、MySQL57是安装mysql数据库时的mysql服务名称,如果安装mysql时的mysql服务名称不是mysql,比如二、7.(2)安装时设置的服务名称是MySQL57,那么启动服务时就应该执行net start MySQL57

2.4 登录MySQL

1、如果安装mysql时使用的是3306端口,登录的命令:mysql -uroot -p
2、如果安装mysql时使用的是其他端口,登录时的命令:mysql -P端口 -uroot -p
3、这时会提示你输入密码。如果在my.ini里配置了跳过密码验证,则不需要输入,不然就需要打开MySQL根目录下的data文件夹,找到后缀是.err的文件以文本打开找到password临时密码(可以ctrl+f搜索)然后在cmd中输入该临时密码。
4、登陆成功后可修改密码:

set password for 用户名@localhost = password(‘新密码’);

或输入

update mysql.user set authentication_string=password(‘root’) where user=‘root’;

设置数据库密码 适用于mysql 5.7版本。
5、刷新权限

flush privileges;

6、退出MySQL

输入exit

2.5 更改my.ini里设置的跳过密码

先停止MySQL57服务,注释掉skip-grant-tables,然后重启MySQL57服务即可。

附:彻底卸载-解压版 MySQL5.7

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加V获取:vip1024b (备注Go)
img

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加V获取:vip1024b (备注Go)
[外链图片转存中…(img-HP5UQFS9-1713473937713)]

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 28
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,以下是一个简单的docker-compose.yml文件示例,用于监控两台MySQL容器中的MySQL服务: ``` version: '3.7' services: prometheus: image: prom/prometheus:v2.25.2 ports: - 9090:9090 volumes: - ./prometheus.yml:/etc/prometheus/prometheus.yml command: - '--config.file=/etc/prometheus/prometheus.yml' mysql1: image: mysql:latest environment: MYSQL_ROOT_PASSWORD: examplepassword ports: - 3306:3306 healthcheck: test: ["CMD", "mysqladmin", "-uroot", "-pexamplepassword", "ping"] interval: 10s timeout: 5s retries: 3 mysql2: image: mysql:latest environment: MYSQL_ROOT_PASSWORD: examplepassword ports: - 3307:3306 healthcheck: test: ["CMD", "mysqladmin", "-uroot", "-pexamplepassword", "ping"] interval: 10s timeout: 5s retries: 3 mysqld_exporter: image: prom/mysqld-exporter:v0.12.1 environment: DATA_SOURCE_NAME: "root:examplepassword@(mysql1:3306)/" # include all tables in the 'test' database EXPORTER_TABLES: "*.*" ports: - 9104:9104 depends_on: - mysql1 restart: on-failure mysqld_exporter_2: image: prom/mysqld-exporter:v0.12.1 environment: DATA_SOURCE_NAME: "root:examplepassword@(mysql2:3306)/" # include all tables in the 'test' database EXPORTER_TABLES: "*.*" ports: - 9105:9104 depends_on: - mysql2 restart: on-failure ``` 这个docker-compose.yml文件定义了5个服务: - `prometheus`:Prometheus服务,监听端口为9090,使用本地的prometheus.yml文件作为配置文件。 - `mysql1`:第一台MySQL容器,监听端口为3306,使用examplepassword作为root用户的密码。 - `mysql2`:第二台MySQL容器,监听端口为3307,使用examplepassword作为root用户的密码。 - `mysqld_exporter`:mysqld_exporter服务,监听端口为9104,监控mysql1容器中的MySQL服务。 - `mysqld_exporter_2`:mysqld_exporter服务,监听端口为9105,监控mysql2容器中的MySQL服务。 在上面的配置中,我们使用了`prom/mysqld-exporter`镜像来作为mysqld_exporter服务的基础镜像。我们定义了两个mysqld_exporter服务,分别监控两个MySQL容器中的MySQL服务。我们通过`DATA_SOURCE_NAME`环境变量设置了mysqld_exporter服务连接的MySQL数据库的地址和密码,使用了mysql1和mysql2服务的容器名称来作为MySQL服务的地址。我们还使用了`EXPORTER_TABLES`环境变量来告诉mysqld_exporter服务要监控的MySQL数据库和表。 注意:这个配置文件仅供参考,具体的配置需要根据实际情况进行调整。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值