mac 启动mysql多实例_实践:mysql单机多实例部署(mac)

背景:在自己电脑搭建或测试分布式服务框架时,经常会用多个数据库实例模拟多个环境的情况,因此我把搭建多实例mysql的过程记录下来,方便互相学习和沟通。

1.搭建环境

1) mac 电脑,版本 10.15.6

2) mysql版本  8.0.20

2.搭建过程如下

2.1 步骤

1) 官网下载mysql安装tar包,注意dmg不行

mysql-8.0.20-macos10.15-x86_64.tar.gz

2)解压及创建mysql包路径

```

tar-xfv mysql-8.0.20-macos10.15-x86_64.tar.gz

cp -rf mysql-8.0.20-macos10.15-x86_64/*  /usr/local/mysql8.0/

```

51153e6e6722

3)创建mysql数据文件存放路径mkdir -p  /usr/local/mysql8.0/{3306,3307,3308,3309}/data

##授权用户组mysql的权限

chown -R mysql:mysql  /usr/local/mysql8.0

##创建日志文件

touch /usr/local/mysql8.0/mysqld_multi.log

4)编辑脚本 my.cnf

vim /etc/my.cnf

###文件内容如下

[mysqld]

user=mysql

basedir =/usr/local/mysql8.0

datadir=/usr/local/mysql8.0/data

[mysqld_multi]

mysqld=/usr/local/mysql8.0/bin/mysqld_safe

mysqladmin=/usr/local/mysql8.0/bin/mysqladmin

log=/usr/local/mysql8.0/mysqld_multi.log

[mysqld3306]

mysqld=mysqld

mysqladmin=mysqladmin

datadir=/usr/local/mysql8.0/3303/data

port=3306

user=mysql

server_id=3306

socket=/tmp/mysql_3306.sock

log-error =/usr/local/mysql8.0/3306/error_3306.log

[mysqld3307]

mysqld=mysqld

mysqladmin=mysqladmin

datadir=/usr/local/mysql8.0/3307/data

port=3307

user=mysql

server_id=3307

socket=/tmp/mysql_3307.sock

log-error =/usr/local/mysql8.0/3307/error_3307.log

[mysqld3308]

mysqld=mysqld

mysqladmin=mysqladmin

datadir=/usr/local/mysql8.0/3308/data

port=3308

user=mysql

server_id=3308

socket=/tmp/mysql_3308.sock

log-error =/usr/local/mysql8.0/3308/error_3308.log

[mysqld3309]

mysqld=mysqld

mysqladmin=mysqladmin

datadir=/usr/local/mysql8.0/3309/data

port=3309

user=mysql

server_id=3309

socket=/tmp/mysql_3309.sock

log-error =/usr/local/mysql8.0/3309/error_3309.log

5)分别初始化3306、3307、3308、3309端口,注意,初始化实例的最后一行记录了root的初始密码

/usr/local/mysql8.0/bin/mysqld --defaults-file=/etc/my.cnf --initialize --basedir=/usr/local/mysql8.0/ --datadir=/usr/local/mysql8.0/3307/data

/usr/local/mysql8.0/bin/mysqld --defaults-file=/etc/my.cnf --initialize --basedir=/usr/local/mysql8.0/ --datadir=/usr/local/mysql8.0/3308/data

/usr/local/mysql8.0/bin/mysqld --defaults-file=/etc/my.cnf --initialize --basedir=/usr/local/mysql8.0/ --datadir=/usr/local/mysql8.0/3309/data

51153e6e6722

6)设置环境变量

vim ~/.bash_profile

##添加如下配置

export PATH=/usr/local/mysql/bin:$PATH

##生效配置

source  ~/.bash_profile

7) mysql命令创建别名,不然后面这三个命令识别不出来 会报错

alias mysqld=/usr/local/mysql8.0/bin/mysqld

alias mysqld_multi=/usr/local/mysql8.0/bin/mysqld_multi

alias mysqladmin=/usr/local/mysql8/bin/mysqladmin

8) 启动实例

mysqld_multi --defaults-extra-file=/etc/my.cnf --log=/usr/local/mysql8.0/mysqld_multi.log --user=mysql start 3306

mysqld_multi --defaults-extra-file=/etc/my.cnf  --log=/usr/local/mysql8.0/mysqld_multi.log --user=mysql  start 3307

mysqld_multi --defaults-extra-file=/etc/my.cnf  --log=/usr/local/mysql8.0/mysqld_multi.log --user=mysql  start 3308

mysqld_multi --defaults-extra-file=/etc/my.cnf  --log=/usr/local/mysql8.0/mysqld_multi.log --user=mysql  start 3309

9)验证实例

mysqld_multi --defaults-extra-file=/etc/my.cnf report

51153e6e6722

2.2 修改密码

详见:

##先登录

mysql -u root -p -S /tmp/mysql_3307.sock

##修改密码

ALTER USER USER() IDENTIFIED BY '123456';

exit;

##验证

附录图:

51153e6e6722

2.3 客户端连接问题

1.出现Authentication plugin 'caching_sha2_password' 错误时,是因登录密码级别设置的高了。

51153e6e6722

2.解决方法:

1)管理员权限运行命令提示符,登陆MySQL

2)修改账户密码加密规则并更新用户密码

ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER;   #修改加密规则

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';   #更新一下用户的密码

3)刷新权限并重置密码

FLUSH PRIVILEGES;   #刷新权限

alter user 'root'@'localhost' identified by '123456'; #再重置下密码

4)现在再次打开Navicat Premium 12连接MySQL问题数据库就会发现可以连接成功了

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/302419.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

毫无疑问的是.NET 在信创常用软件适配清单之中

2020年8月份写了一篇文章《.NET Core也是国产化信息系统开发的重要选项》, 这又过去了大半年了,在信创领域发生了很大的变化,今天写这篇文章主要是想从信创常用软件适配清单 看一看.NET 在信创里面的情况。信创常用软件适配清单 是由中国电子…

学习Python编程的19个资源

全世界只有3.14 % 的人关注了数据与算法之美用Python编写代码一点都不难,事实上它一直被赞誉为最容易学的编程语言。如果你准备学习web开发, Python是一个不错的开始,甚至想做游戏的话,用Python来开发游戏的资源也有很多。这是快速…

读《精益商业思维》

五一假期读了程浩的《精益商业思维》,程浩是迅雷的联合创始人之一,现在是职业投资人, 全篇从创业者的角度,也从投资人的角度解析了创业的方法论。书中有大量的互联网公司的案例,都是我们耳熟能详的一些互联网企业&…

mysql中两根竖线什么意思_五线谱中两根竖线是什么意思?

五线谱中的竖线叫做终止线,写在乐曲结束处的右边一条略粗的双纵线。音乐总是由强拍和弱拍交替进行的,这种交替不能杂乱无章、任意安排,而是按照一定的规律构成最小的节拍组织一小节,然后以此为基础循环往复。比如,当两…

三张图读懂机器学习 :基本概念、五大流派与九种常见算法

全世界只有3.14 % 的人关注了数据与算法之美机器学习正在进步,我们似乎正在不断接近我们心中的人工智能目标。语音识别、图像检测、机器翻译、风格迁移等技术已经在我们的实际生活中开始得到了应用,但机器学习的发展仍还在继续,甚至被认为有可…

go 切片取最后一个元素_深挖 Go 之 forrange 排坑指南

今年做个 Dig101 系列,挖一挖技术背后的故事。Dig101: dig more, simplified more and know moregolang 常用的遍历方式,有两种:for 和 for-range。而 for-range 使用中有些坑常会遇到,今天我们一起来捋一捋。文章目录0x01 遍历取…

SqlServer SqlParser 介绍及基本使用

SqlServer SqlParser 介绍及使用示例Intro最近发现在 Nuget 上有一个 SqlServer 的 SqlParser,利用 SqlParser 我们做到可以解析 SQL 的每一部分 ,nuget 包是公开的,可以拿来即用,只是缺少使用示例,很多功能需要自己去…

如何使用TensorFlow玩转深度学习?

自 2015 年 11 月 9 号发布之后,TensorFlow 逐渐成为人工智能领域最广泛运用的深度学习框架。那么TensorFlow框架到底是什么?TensorFlow 是一个大规模机器学习的开源框架,提供了多种深度神经网络的支持。不仅 Google 在自己的产品线使用 Tens…

大学,我是怎么边学编程边赚钱的?

我是如何在大学时就靠编程赚钱的?大家好,我是鱼皮,前段时间看到一位朋友的问题:穷极客一枚,正值大学,很想自己解决生活问题,不再向父母要钱。计算机相关专业,喜欢编程,觉…

独占设备的分配与回收_灵魂拷问:Java对象的内存分配过程是如何保证线程安全的?...

点击上方“linkoffer”,选择关注公众号高薪职位第一时间送达作者 l HollisJVM内存结构,是很重要的知识,相信每一个静心准备过面试的程序员都可以清楚的把堆、栈、方法区等介绍的比较清楚。上图,是一张在作者根据《Java虚拟机规范(…

Wtm Blazor来了!

快点关注我们吧BlazorBlazor从诞生到现在也有一段时间了,之前一直在观望,从dotnet5中Blazor的进步以及即将到来的dotnet6中的规划来看,Blazor的前途还是光明的,所以WtmBlazor来了!Blazor的优势后台代码的高复用率。不论…

[Netty实践] 简单WebSocket服务实现

目录 一、介绍 二、依赖导入 三、基础类准备 四、Handler实现 五、WebSocketChannelInitializer实现 六、WebSocketServer实现 七、前端实现 八、测试 九、参考链接 一、介绍 关于WebSocket此处不进行过多介绍,本章主要着重通过Netty实现WebSocket通信服务…

这个爱喝酒的酒鬼可真是让人操碎了心

全世界只有3.14 % 的人关注了数据与算法之美最近又有一道数学难题重现江湖,在数学的江湖上掀起了腥风血雨。为了这道题,武林中也衍生出了三个门派!分别有75%派,90%派,50%派。打完这么多派字,怎么莫名有点饿…

这几家5月还在急招.NET,都是30k以上!

最近常看到鼓吹财务自由的文章,甚至将5月18号(谐音:我要发)都演变成了财务自由日,号称通过理财快速达到财务自由... 荒谬!财务自由本身就是伪命题,更不提啥小白理财就变身财务自由了,完全收智商税&#xff…

mysql binlog oplog_mongodb 学习之oplog

背景:原来一个同事问我主从mongodb数据库为什么数据差距很大,我让他察看一下两边有啥不一样,发现主的local库有13G从却很小,进入local之后du发现有一个collection前缀的文件有13g,说明是local数据库中一个集合太大了,推…

WPF实现Map加载

WPF开发者QQ群&#xff1a; 340500857 欢迎转发、分享、点赞&#xff0c;谢谢大家~。 接着上一篇效果预览&#xff1a;一、MainWindow.xaml代码如下&#xff1a;<Window x:Class"WpfBingMap.MainWindow"xmlns"http://schemas.microsoft.com/winfx/2006/xaml…

和哪个专业的男生谈恋爱最惨?

全世界只有3.14 % 的人关注了数据与算法之美艺术类专业艺术类的男生是最懂女孩们的心思&#xff0c;也是最浪漫的一类人群&#xff0c;弹琴唱歌跳舞画画样样擅长。这类男生所做的一切&#xff0c;皆可以把女孩们的心俘获到。但是呢&#xff0c;这类男孩的身边总是会有很多玩的很…

只能选择分卷文件的第一部分。_为机器学习模型选择正确的度量评估(第一部分)...

作者&#xff1a;Alvira Swalin编译&#xff1a;ronghuaiyang导读对不同的应用场景&#xff0c;需要不同的模型&#xff0c;对于不同的模型&#xff0c;需要不同的度量评估方式。本系列的第一部分主要关注回归的度量在后现代主义的世界里&#xff0c;相对主义的各种形式一直是最…

多项式乘法与快速傅里叶变换

全世界只有3.14 % 的人关注了数据与算法之美第一节、多项式乘法我们知道&#xff0c;有两种表示多项式的方法&#xff0c;即系数表示法和点值表示法。什么是系数表示法?所谓的系数表示法&#xff0c;举个例子如下图所示&#xff0c;A&#xff08;x&#xff09;6x^3 7x^2 - 10…

WPF 模仿QQ音乐首页歌单效果

qq音乐桌面版做的效果感觉很不错&#xff0c;今天就模仿一下它首页歌单的效果&#xff0c;从简单做起。。。看一下效果&#xff1a;&#xff0c;其实也很简单&#xff0c;就是布局和动画&#xff0c;触发器。。。还用到了ItemsControl下面就看看代码&#xff1a;MainWindow的xa…