mysql的安装与mysql一机多实例(低版本)

2024-05-06 00:48

本文主要是介绍mysql的安装与mysql一机多实例(低版本),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

mysql的安装与mysql一机多实例(低版本)



在写这篇文档之前,我查了一些资料,不知是简单的原因还是什么其他原因,各个资料都写的相当的模糊,所以,我详细的做了一次,并写成了文档分享给大家

      首先我们用的是Linux redhat 4.6 系统,mysql的版本为mysql-5.0.18.tar.gz,内核版本如下图:

本文理论的东西,不在详加解释,只讲安装完成部署一机多实例。目前具本人了解,一机多实例实现的方法大体有三种,第一mysql多次安装,并安装在不同的目录,第二、就是,用mysqld_sasf来指定不同参数来实现多实例。相比较我们的讲的方法是最简单的。

我们用源码包安装mysql,我的mysql的源码包放在了根目录下的/duyunlong目录中。

#tar -zxf mysql-5.0.18.tar.gz

#cd mysql-5.0.18

解压完之后,进入mysql-5.0.18的目录中,编辑安装脚本,(当然,我个人喜欢脚本安装,不容易出错且简单。),

#touch mysql_install

#chmod  777 mysql_install

在编辑这个安装脚本之前我们来看看mysql中的安装说明文件INSTALL_SOUCE

 

#vim INSTALL-SOURCE

 

我们把上面的这段文字复制到我们的脚本文件中,如下图

我们执行脚本./mysql_install,就可以完成mysql的安装

安装完后,在/etc/有mysql的配置文件my.cnf,我们把它删除,重新建立新空文件my.cnf

#rm -fr /etc/my.cnf

#touch /etc/my.cnf

#vim /etc/my.cnf  编辑下面的配置参数,然后保存退出。

[mysqld_multi]
mysqld = /usr/local/mysql/bin/mysqld_safe
mysqladmin = /usr/local/mysql/bin/mysqladmin
[mysqld1]
datadir = /var/lib/mysql1
socket = /var/lib/mysql1/mysql.sock
pid-file = /var/lib/mysql1/mysqld.pid
user = mysql
port = 3307
server-id = 100
log-bin = mysql-bin
log-error = /var/log/mysqld1.log
[mysqld2]
datadir = /var/lib/mysql2
socket = /var/lib/mysql2/mysql.sock
pid-file = /var/lib/mysql2/mysqld.pid
user = test
port = 3308
server-id = 200
log-bin = mysql-bin
log-error = /var/log/mysqld2.log
skip-slave-start

然后我们执行初始化操作
初试化(要保证mysql和test是存在的系统帐户)
/usr/bin/mysql_install_db --user=mysql --datadir=/var/lib/mysql1
/usr/bin/mysql_install_db --user=test --datadir=/var/lib/mysql2
然后我们用mysqld_multi来启动实例,如下图:

出现了错误的原因是:由于你安装mysql的 bin 路径不在默认的搜索path中,导致在启动时无法正确的传送参数给/usr/local/mysql/libexec/mysqld
解决方法:
echo "PATH=/usr/local/mysql/bin:\$PATH" >> /etc/profile
 重启系统使系统变量生效

我们可以查看下端口,如下图:

 

可以看到3307,3308端口都在监听状态

这样我们就完成了,mysql的安装于一机多实例的配置,然后我们来启动这些实例,并验证我们起来的实例,不是同一个数据库,如下图:

进入数据库中,切换到test数据库下创建一个表名为jobs,主要是验证,我们启动的实例是不是同一个数据库,并顺便查看test数据库下的所有表,我们看到只有jobs这个表,

 

我们看可以看下数据的使用者,用select user();看下当前的使用者

 

同样的道理我们启动第二个如下图:

 

为了验证启动的实例不是同一个数据库,同上面,切换到test数据库里,创建一表为duyunlong并查看所有表,发现并没有jobs这个表,那么说明我们启动的实例不在同一数据库里:如下图:

查看当前使用帐号:

 

这篇关于mysql的安装与mysql一机多实例(低版本)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/963097

相关文章

Jsoncpp的安装与使用方式

《Jsoncpp的安装与使用方式》JsonCpp是一个用于解析和生成JSON数据的C++库,它支持解析JSON文件或字符串到C++对象,以及将C++对象序列化回JSON格式,安装JsonCpp可以通过... 目录安装jsoncppJsoncpp的使用Value类构造函数检测保存的数据类型提取数据对json数

mac安装redis全过程

《mac安装redis全过程》文章内容主要介绍了如何从官网下载指定版本的Redis,以及如何在自定义目录下安装和启动Redis,还提到了如何修改Redis的密码和配置文件,以及使用RedisInsig... 目录MAC安装Redis安装启动redis 配置redis 常用命令总结mac安装redis官网下

Mysql 中的多表连接和连接类型详解

《Mysql中的多表连接和连接类型详解》这篇文章详细介绍了MySQL中的多表连接及其各种类型,包括内连接、左连接、右连接、全外连接、自连接和交叉连接,通过这些连接方式,可以将分散在不同表中的相关数据... 目录什么是多表连接?1. 内连接(INNER JOIN)2. 左连接(LEFT JOIN 或 LEFT

Oracle Expdp按条件导出指定表数据的方法实例

《OracleExpdp按条件导出指定表数据的方法实例》:本文主要介绍Oracle的expdp数据泵方式导出特定机构和时间范围的数据,并通过parfile文件进行条件限制和配置,文中通过代码介绍... 目录1.场景描述 2.方案分析3.实验验证 3.1 parfile文件3.2 expdp命令导出4.总结

mysql重置root密码的完整步骤(适用于5.7和8.0)

《mysql重置root密码的完整步骤(适用于5.7和8.0)》:本文主要介绍mysql重置root密码的完整步骤,文中描述了如何停止MySQL服务、以管理员身份打开命令行、替换配置文件路径、修改... 目录第一步:先停止mysql服务,一定要停止!方式一:通过命令行关闭mysql服务方式二:通过服务项关闭

SQL Server数据库磁盘满了的解决办法

《SQLServer数据库磁盘满了的解决办法》系统再正常运行,我还在操作中,突然发现接口报错,后续所有接口都报错了,一查日志发现说是数据库磁盘满了,所以本文记录了SQLServer数据库磁盘满了的解... 目录问题解决方法删除数据库日志设置数据库日志大小问题今http://www.chinasem.cn天发

mysql主从及遇到的问题解决

《mysql主从及遇到的问题解决》本文详细介绍了如何使用Docker配置MySQL主从复制,首先创建了两个文件夹并分别配置了`my.cnf`文件,通过执行脚本启动容器并配置好主从关系,文中还提到了一些... 目录mysql主从及遇到问题解决遇到的问题说明总结mysql主从及遇到问题解决1.基于mysql

如何安装 Ubuntu 24.04 LTS 桌面版或服务器? Ubuntu安装指南

《如何安装Ubuntu24.04LTS桌面版或服务器?Ubuntu安装指南》对于我们程序员来说,有一个好用的操作系统、好的编程环境也是很重要,如何安装Ubuntu24.04LTS桌面... Ubuntu 24.04 LTS,代号 Noble NumBAT,于 2024 年 4 月 25 日正式发布,引入了众

如何安装HWE内核? Ubuntu安装hwe内核解决硬件太新的问题

《如何安装HWE内核?Ubuntu安装hwe内核解决硬件太新的问题》今天的主角就是hwe内核(hardwareenablementkernel),一般安装的Ubuntu都是初始内核,不能很好地支... 对于追求系统稳定性,又想充分利用最新硬件特性的 Ubuntu 用户来说,HWEXBQgUbdlna(Har

python中poetry安装依赖

《python中poetry安装依赖》本文主要介绍了Poetry工具及其在Python项目中的安装和使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随... 目录前言1. 为什么pip install poetry 会造成依赖冲突1.1 全局环境依赖混淆:1