linux中安装多个mysql_liunx系统下安装多个MySql数据库并做主从配置

在网上搜索了很多资料,都没有看到像样的文档,思路不是很清晰,对第一次安装的朋友来说较为困难,经过长时间的安装尝试和查询网上零碎的知识点,终于成功的完成Linux系统下多MySql数据库安装和主从配置,现在分享给大家。

前提:

1、关闭Liunx系统的防火墙,如果忘了,你下面的测试连接必定会失败,切记,切记,切记。

2、下载linux系统自带的mysql

查找已安装的myslq 版本:#rpm  -qa | grep  mysql     #(注意大小写,如果mysql 不行就换MySQL)

将搜索出的包名卸载:

#rpm -e  --nodeps mysql-5 .0 .22-2 .1 .0 .1   #(nodeps表示强制删除)

再次查找该包名,如果没有结果输出则表明已将该版本的mysql卸载了 ;

3、yum安装lrzsz和cmake

yum -y install lrzsz;

yum -y install cmake;

首先熟悉MySql数据库,很多人都是直接安装原生版的MySql数据库(就是官网上下载的数据库安装包),也有人用的是MySql的衍生版数据库,如percona,我用的就是这种,下面我会分别说明原生版和衍生版MySql数据库的安装和主从配置。

Linux下多个原生版MySql数据库的安装及主从配置:

1、下载MySql数据库http://dev.mysql.com/downloads/mysql/5.5.html#downloads

c7123e76b0d15b3eb97bedc3ac1c18af.png

下载的是64位系统,我使用的是CentOS6.6 64位系统

2、安装第一个数据库

-- cd /usr/local/src

-- mkdir mysql

-- cd mysql

-- rz(上传安装包)

-- tar -xvf MySQL-5.5.47-1.linux2.6.x86_64.rpm-bundle.tar

-- rpm -ivh MySQL-server-5.5.47-1.linux2.6.x86_64.rpm

-- rpm -ivh MySQL-client-5.5.47-1.linux2.6.x86_64.rpm

-- rpm -ivh MySQL-devel-5.5.47-1.linux2.6.x86_64.rpm

到这里就安装结束了

3、启动数据库、修改数据库密码和登录数据库

-- service mysql start

-- mysqladmin -uroot password ‘root’

-- mysql -uroot -proot

4、提供远程连接的权限

在登录mysql的状态下执行下面的命令

-- grant all privileges on *.* to 'root' @'%' identified by 'root';

-- flush privileges;

执行结束后使用外部的工具连接库,我这里使用的是navicat,连接的时候会报这样测错误:

b11042c2d4b9c7514e05aafbfbdd2967.png

就因为这个错误,让我苦苦研究很长时间,其实解决起来很方便的。下面是解决方案:

rpm安装原生版的mysql是没有my.cnf文件的,在网上查各种资料都是让我修改my.cnf配置文件,但是我始终没有找到这个文件,后来在网上看到博友的博文这里将截图贴上如下:

d5f094b32639c4e04e53e0ed25753023.png

主要看第二种说法,我的操作如下:

-- cd /usr/share/mysql

-- cp my-medium.cnf /etc/

-- cd /etc

-- mv my-medium.cnf my.cnf

-- vim my.cnf

配置文件中许多内容都是被我注释了,但是不注释也没有太大的影响,但是主要是找到bind-address =

127.0.0.1,如果有就注释掉,没有就不用管了,我当时在我的配置文件中是没有找到这句话的。接下来是在配置文件的[mysqld]这句话下一行添

加一句话skip-name-resolve,保存文件,重新启动数据库(命令:service mysql

restart),这个时候再远程连接数据库就可以连接的上了(如图)。

b4d70c4003ec7699c7c1afb6f6521848.png

好了,到此为止第一个Mysql数据库就安装成功了。

5、第二个Mysql数据库的安装之创建目录

-- cd /usr/local

-- mkdir mysql

-- cd mysql

-- mkdir data

-- mkdir etc

-- mkdir logs

-- mkdir var

-- chown mysql:mysql /usr/local/mysql/ -R

-- cp /etc/my.cnf /usr/local/mysql/etc/

-- vim /usr/local/mysql/etc/my.cnf

这里需要将所有的内容都注释掉,然后添加下面的内容:

[mysqld]

skip-name-resolve

port=3307

datadir=/usr/local/mysql/data

socket=/usr/local/mysql/mysql-3307.sock

user=mysql

log_error=/usr/local/mysql/logs/db_error.log

# Disabling symbolic-links is recommended to prevent assorted securityrisks

symbolic-links=0

[mysqld_safe]

log-error=/usr/local/mysql/logs/db_error.log

pid-file=/usr/local/mysql/mysqld-3307.pid

保存配置文件,准备安装

6、安装第二个Mysql数据库、启动数据库

上面的配置文件都配置好了,接下来就是安装了

安装命令:

/usr/bin/mysql_install_db

--defaults-file=/usr/local/mysql/etc/my.cnf  --basedir=/usr/

--datadir=/usr/local/mysql/data  --user=mysql

启动数据库

/usr/bin/mysqld_safe --defaults-file=/usr/local/mysql/etc/my.cnf &

7、修改密码、登录、设置远程访问权限

修改密码:

mysqladmin -h127.0.0.1 -P3307 -uroot password "root"

登录:

mysql -uroot -h127.0.0.1 -P3307 -p

设置远程访问权限:

grant all privileges on *.* to 'root' @'%' identified by 'root';

flush privileges;

到此第二个数据库就安装结束了,这里测试连接就不演示了,和上面的一样,这里的skip-name-resolve已经在修改配置文件的时候加上了,正常安装启动时不会出现问题的。

8、主从配置之配置主数据库

-- vim /etc/my.cnf

在[mysqld]所在行下另起一行,加上下面的几句话

log-bin=mysql3306-bin

//test表示主从之间需要同步的数据库,如果有多个就用逗号隔开,但是需要同步的数据库较多时建议直接不写这句话,因为逗号隔开可能会存在一些问题,直接不写这句配置,表示同步整个数据库

binlog-do-db=test

server-id=101  //这里的服务id可以是任意值,但是要保证唯一

配置文件修改完毕,保存配置文件,重启数据库。

使用navicat数据库工具执行命令:SHOW MASTER STATUS查看主库的状态如下(不同数据库值不同,记住这两个值):

7cba719275e2d3f64ffaf7668993c67c.png

下面就是为从库创建用户:

grant replication slave on *.* to 'slave01'@'127.0.0.1' identified by'123456';

flush privileges;

这里的127.0.0.1需要根据你的从数据库所在机器的ip配置,要是觉得指定ip容易出错,就直接使用“%”代替。

小插曲:

上面的两句sql命令在我的navicat中无法执行,如果博友你也出现这种情况,不防直接命令行连接数据库执行这两句话,效果一样。

好了,到此为止主数据库就配置完成喽!

9、主从配置之配置从数据库

-- vim /usr/local/mysql/etc/my.cnf

这里配置相对主库较为简单,只要配置[mysqld]下中的一个server-id即可,唯一需要注意的是server-id的唯一性,保存配置文件,重新启动数据库(用

ps -ef | grep mysql 查询到3307 从数据库的进程编号,kill命令(kill

xxx)杀死3307从数据库的进程,然后重新执行启动数据库命令就好,注意从数据库启动和主数据库的不同)。

然后使用navicat工具执行下面的sql语句:

CHANGE MASTER TO

master_host='127.0.0.1',

master_user='slave01',

master_password='123456',

master_port=3306,

master_log_file=' mysql3306-bin.000002',

master_log_pos= 1942;

c25ef344db515b54782bc0ce6cf492cc.png

启动从数据库的同步:

START SLAVE;

查看从数据库的状态:

SHOW SLAVE STATUS;

注意看其中的两个值:

36558744d70b532e1c1794bdc0373704.png

这两个都为“yes”才是成功,有一个为“no”都不行。

现在就测试修改数据吧!

首先在主库中随便修改一条数据并保存,到从库刷新,看是否同步,如果是同步了恭喜你成功了。

启动从库常见问题:

报错信息:

代码如下:

Last_IO_Error: Fatal error: The slave I/O thread stops because master and slave have equal MySQL server ids; these ids must be different for replication to work (or the --replicate-same-server-id option must be used on slave but this does not always make sense; please check the manual before using it).

意思很明显:就是两个mysql的server-id的值不唯一或者一致了。需要修改成不一样的才行。

如果不确定各自的值为多少时可以启动两个数据后分别进入到不同端口的mysql界面查看这个server-id的值:

使用如下命令查看了一下server_id

复制代码代码如下:

mysql> show variables like 'server_id';

+---------------+-------+

| Variable_name | Value |

+---------------+-------+

| server_id | 1 |

+---------------+-------+

1 row in set (0.00 sec)

如果一样的就修改下,改成不一样的就可以了,然后重新启动主库和从库,把原来的slave01用户删了,重新设置slave01用户以及后面的操作。

如果还有问题可参见这个博客,我也是从这里获得帮助的:

======================================================================================

Linux下多个衍生版Mysql的安装和主从配置:

1、下载衍生版数据库Percona,地址:https://www.percona.com/downloads/Percona-Server-5.6/LATEST/

826701aea48904e20ea2a65268891ad1.png

2、安装第一个数据库

-- cd /usr/local/src

-- mkdir mysql-percona

-- cd mysql-percona

-- rz(上传安装包)

-- tar -xvf Percona-Server-5.5.47-37.7-r764f304-el6-x86_64-bundle.tar

-- rpm -ivh Percona-Server-shared-55-5.5.47-rel37.7.el6.x86_64.rpm

-- rpm -ivh Percona-Server-client-55-5.5.47-rel37.7.el6.x86_64.rpm

-- rpm -ivh Percona-Server-server-55-5.5.47-rel37.7.el6.x86_64.rpm

这里安装结束后和原生版的不同,这个会自动生成一个my.cnf文件保存在/etc目录下。

启动服务(service mysql

start)、修改root用户密码、登录、设置远程连接权限、以及修改my.cnf配置文件内容和上面的原生版相同(注意这里是修改内容步骤一样,这里

不再需要从其他目录拷贝文件到/etc目录下并改文件名,因为衍生版安装时会自动生成一个my.cnf文件保存在/etc目录下)。

记得重新启动数据库,连接测试。

3、安装第二个衍生版Mysql数据库很简单,这里安装的步骤和安装第二个原生版Mysql是完全相同的,这里就不多说了。

4、主从配置

这里的主从配置和原生版的是完全相同的,不再赘述。

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

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

相关文章

江苏省高等学校计算机一级成绩查询,江苏计算机一级考试成绩查询

想要了解江苏2020年9月计算机一级考试成绩查询入口的小伙伴快来看看吧!下面由出国留学网小编为你精心准备了“江苏2020年9月计算机一级考试成绩查询入口公布”,持续关注本站将可以持续获取更多的考试资讯!江苏2020年9月计算机一级考试成绩查询…

《树莓派实战秘籍》——1.17 技巧17添加重启按钮

本节书摘来异步社区《树莓派实战秘籍》一书中的第1章,第1.17节,作者:【美】Ruth Suehle ,Tom Callaway,更多章节内容可以访问云栖社区“异步社区”公众号查看 1.17 技巧17添加重启按钮 树莓派实战秘籍也许你已经注意到Pi缺少了某…

mysql临时关闭索引功能_MySQL优化之索引优化

$1.WHY : 找到MySQL Query执行慢的原因1.1 EXPLAIN通过Explain查看SQL Query语句的执行情况&#xff0c;从中找出导致MySQL查询性能差的原因EXPLAIN QUERY语句【字段解释】<1> id -- 表的读取顺序id相同时&#xff0c;按照从上至下的顺序执行id不同时&#xff0c;id值越…

K8S Calico

NetworkPolicy是kubernetes对pod的隔离手段&#xff0c;是宿主机上的一系列iptables规则。 Egress 表示出站流量&#xff0c;就是pod作为客户端访问外部服务&#xff0c;pod地址作为源地址。策略可以定义目标地址或者目的端口 Ingress 表示入站流量&#xff0c;pod地址和服务作…

每周总结(第十一周)

转载于:https://www.cnblogs.com/qinlihong/p/5510026.html

10个关于linux中Squid代理服务器的实用面试问答

10个关于linux中Squid代理服务器的实用面试问答 不仅是系统管理员和网络管理员时不时会听到“代理服务器”这个词&#xff0c;我们也经常听到。代理服务器已经成为一种企业常态&#xff0c;而且经常会接触到它。它现在也出现在一些小型的学校或者大型跨国公司的自助餐厅里。Squ…

北京矿大计算机考研每年分数线,2021中国矿业大学北京考研国家线公布时间_国家线是多少分...

中国矿业大学北京考研国家线怎么看&#xff1f;中国矿业大学北京考研国家线是多少分&#xff1f;山西人事考试网整理中国矿业大学北京考研考研国家线怎么看、国家线公布时间、历年中国矿业大学北京考研国家线&#xff0c;希望考生及时关注考研成绩国家线公布信息&#xff0c;为…

工厂模式-依赖倒置原则

老板&#xff1a;阿飞啊&#xff0c;我们公司最近接了个项目&#xff0c;你看着设计一下&#xff0c;我给你说下需求。项目组长阿飞&#xff1a;好啊&#xff0c;什么需求&#xff1f;老板&#xff1a;我们找了一个合作的商铺&#xff0c;他们要设计一套面包销售系统。主要功能…

(6)css盒子模型(基础下)

一、理解多个盒子模型之间的相互关系 现在大部分的网页都是很复杂的&#xff0c;原因是一个“给人用的”网页中是可能存在着大量的盒子&#xff0c;并且它们以各种关系相互影响着。 html与DOM的关系 详情了解“DOM” &#xff1a;http://baike.baidu.com/link?urlSeSj8sRDE-JZ…

easyui获取下拉框选中的文本值_Word中文本显示不全的常见3种情况及解决方法

在日常工作使用Word文档时&#xff0c;经常会遇到文本显示不全的情况&#xff0c;比如文本框或表格里的文本显示不全等情况&#xff0c;你一般是怎么操作呢&#xff1f;以下这3种常见情况你可能也遇到过&#xff0c;一起看看是什么原因并解决它们吧&#xff01;1、文本显示不全…

CSS中属性的值和单位

CSS中值的单位 1.颜色值 被各种浏览器支持&#xff0c;并且作为 CSS 规范推荐的颜色名称只有 16 种&#xff0c;如下表所示。 百分比表示 color: rgb(100%, 100%, 100%); 这个声明将红、蓝、绿 3 种原色都设置为最大值&#xff0c;结果组合显示为白色。相反&#xff0c;可以设置…

《走进SAP(第2版)》——2.8 SAP的目标是什么

本节书摘来自异步社区《走进SAP&#xff08;第2版&#xff09;》一书中的第2章&#xff0c;第2.8节,作者&#xff1a; 【德】Nancy Muir , Ian Kimbell , 等 更多章节内容可以访问云栖社区“异步社区”公众号查看。 2.8 SAP的目标是什么 走进SAP&#xff08;第2版&#xff09;…

8 包含min函数的栈

0 引言 题目&#xff1a;定义栈的数据结构&#xff0c;请在该类型中实现一个能够得到栈的最小元素的min函数。在该栈中&#xff0c;调用min、push及pop的时间复杂度都是O&#xff08;1&#xff09;. 1 抽象问题具体化 2 具体问题抽象分析 需要解决的两个主要问题如下。 &#x…

《Adobe Illustrator大师班:经典作品与完美技巧赏析》—Svetlana Makarova

本节书摘来自异步社区《Adobe Illustrator大师班&#xff1a;经典作品与完美技巧赏析》一书中的Svetlana Makarova&#xff0c;作者【英】Sharon Milne,更多章节内容可以访问云栖社区“异步社区”公众号查看。 Svetlana MakarovaAdobe Illustrator大师班&#xff1a;经典作品与…

有关软件测试的证书,软件测试证书有用吗

要想知道证书有什么用&#xff0c;我们就要详细了解软件评测师考试&#xff0c;以及拿到证书的价值。那么下面和小编来看看这篇软件测试证书有用吗&#xff0c;一定会有收获。一、证书考试软件评测师考试是全国计算机技术与软件技术资格考试的一个中级考试。考试不规定学历和资…

python D29 socketserver以及FTB

一、socketserver 基于tcp协议下的socket只能和一个客户端通信&#xff0c;如果用socketserver可以实现和多个客户端通信。 他是在socket的基础上进行封装&#xff0c;也就是说底层还是调用的socket&#xff0c;在py2.7里面叫做SocketServer也就是大写了两个S&#xff0c;在py3…

sphinx mysql存储引擎_基于Sphinx+MySQL的千万级数据全文检索(搜索引擎)架构设计...

Sphinx&#xff0c;单一索引最大可包含1亿条记录&#xff0c;在1千万条记录情况下的查询速度为0.x秒(毫秒级)。Sphinx创建索引的速度为&#xff1a;创建100万条记录的索引只需3&#xff5e;4分钟&#xff0c;创建1000万条记录的索引可以在50分钟内完成&#xff0c;而只包含最新…

4-1 线程安全性-原子性-atomic-1

转载于:https://www.cnblogs.com/ZHONGZHENHUA/p/10026627.html

delphi7 提示注册过期问题

很同情你得经过~ 因为我以前也是经常遇见这个问题~就和你说得一样~ 后来~ 我发现 下载使用的Delphi 7只能使用一个注册码&#xff0c;那就是:6AMD-PKG68E-DB8PP7-9SFE 3QH-9QW所以,你先把C:\Documents and Settings\Administrator\.borland文件夹下的两个文件删除然后用 Progra…

计算机开机引导的结果是,电脑开机显示引导媒体是怎么回事

电脑开机显示引导媒体是怎么回事分类&#xff1a;数据恢复常见问题|最后更新&#xff1a;2020年4月9日开机显示重新启动并选择适当的引导设备或插入1.如果主机上接有可移动存储介质(如光盘、移动硬盘、U盘等),将其拔掉,然后重启。2.如果仍然这样,进入主板设置中,依次检测以下几…