编译安装第二个mysql (sina博客移入)

linux的作业要自己编译一个mysql,但是我的系统上已经有一个mysql了,再编译一个,最麻烦的地方不在于编译,而是让两个共存。
前面的编译环节和普通安装没有什么区别,还是configure,make,make install。其中configure的时候,选择一下安装的位置,否则可能导致原来的文件被覆盖(使用–prefix选项)。我的破电脑make的时候花了不少时候(具体多少我也不清楚,开始编译之后就去吃饭了),安装好之后,按照mysql的手册复制support-files/my-medium.cnf到安装目录里面的var目录下(没有安装数据库的时候这个文件夹不存在,自己在安装根目录下创建一个),然后修改里面的客户端通信使用的socket文件的名字sed -i -e ‘s/mysql.sock/mysql1.sock/’ /opt/mysql/var/my.cnf,这里把socket文件改成了mysql1.sock(原来的mysql默认的socket文件是mysql.sock,不修改会导致两个socket文件冲突)。如果要同时通过网络监听,可能还需要修改里面的监听端口,反正我只是当成作业演示一下,所以监听端口就没有修改。
后面的操作和手册上一样,偷懒了下,没有导出环境变量,所以要输入绝对路径。先改变了文件夹的拥有者,然后就用mysql_install_db –user=mysql创建了数据库(这里要防止使用原来PATH下的mysql程序)。最后启动mysql,mysqld_safe –user=mysql &(还是一样,注意不要用原来mysql的程序)。
这时,新的mysql已经启动,可以用mysql命令连接了(好像这里还是要用新的那个),创建了个数据库,测试了一下一切ok,没有对以前的mysql有影响。
关键点就是mysql的配置文件my.cnf文件要复制到mysql安装目录的var文件夹下(mysql用来保存数据库文件的文件夹),这样这个配置文件只对该服务器有效,不会影响到系统中默认的/etc下的那个配置文件。为了防止两个mysqld的监听冲突,最好修改配置文件里面的socket和监听端口(如果通过网络连接)。

在ubuntu上配置出现问题了。ubuntu好像不会用新的配置文件替换全局配置文件(mysql读取配置文件顺序是/etc/my.cnf->数据库安装目录/my.cnf->个人主目录/.my.cnf)所以在创建数据库(使用mysql_install_db)时,仍然需要指定my.cnf文件路径(使用–defaults-file选项)。在启动数据库时也同样需要。使用mysql命令连接数据库时,也需要指定连接的socket文件,或者my.cnf文件。
如果在安装数据库时出现unknown option ‘–skip-federated’,直接把自己的那份my.cnf文件里的skip-federated行注释。

转载自:https://coolex.info/blog/59.html

时间: 2024-12-30 18:37:00

编译安装第二个mysql (sina博客移入)的相关文章

debian安装git服务器——gitosis(sina博客移入)

前段时间一直在用google code,大概了解了svn的使用方法(其实也没有怎么了解,因为使用了eclipse的svn插件,没有手动使用svn命令过).想在家里的龙芯上也弄个版本管理软件,这样既可以控制平时写的软件的版本,同时也实现了对这些程序的备份. 以前在自己的电脑上搭建过svn服务器,所以这次想尝试一下搭建git的服务器.git是分布式的版本控制软件,因此本身没有很强的服务器概念.因此选择了gitosis这个软件. 安装这个软件非常方便,直接用apt-get就可以了,很久没有刷新软件源了

ext2文件系统存储结构(sina博客移入)

看了几天<深入理解linux内核>的ext2文件系统部分和VFS部分,稍微了解了点文件在内存中的存储结构,但是总是弄不清楚在硬盘上实际的存储方式,特别是文件夹的存储. 保存文件夹的结构很简单,没有这个文件夹下所有文件的索引,看了几遍书,都不能理解在硬盘上文件夹结构的存储,只能根据网上的例子自己跟着做实验.(过程参考了http://blog.chinaunix.net/u1/48373/showart_1210707.html的博客) 首先显示要分配一个空间,格式化为ext2分区,并在这个空间上

获取路由器外网ip并email(从sina博客移入)

在网上找到了这个网页,它返回的html代码在body标签中只有访问者的ip,可以很方便的进行解析.下载的任务就交个了libcurl库,它是一个强大的下载库,支持很多不同的协议.根据官方的文档,能够很方便的将页面下载到内存中,而且正好只有body标签里面的数据,免去了字符处理的步骤.关键代码: [cc lang='c' ] char *fetchIP(char *url) { char *IP = (char*)malloc(20); CURL *curl_handle; struct memSt

CppUnit——c++的单元测试工具(sina博客移入)

在学测试的时候,老师总是用JUnit作为演示,虽然平时也需要用java写写网页,还是比较喜欢用c/c++来写程序.所以找了个c++的单元测试框架--CppUnit. CppUnit非常类似于Junit,因此上手起来还是比较方便的,不过里面的一些宏还是有点难记. 首先先写一个类,用来被测试: [cc lang='cpp' escaped='true' ] //add.h classAdd { public: Add(); virtual~Add(); voidadd(inta); voidset(

没有容量的容器——linux内核的链表(sina博客移入)

在看linux内核源代码的时候,经常在一些结构里看见struct list_head结构.找了一下源代码,在list.h中,有对这个结构的定义,这个就是linux内核中的链表结构. 仔细看看这个结构,就可以发现它和以前在讲数据结构的时候的链表有很大的差别--没有数据.list_head结构中仅仅包含了两个自己结构的指针,用来组建双向循环链表.最大的疑问就是,这个链表结构如何保存数据呢? 在list.h中,定义了list_entry宏.这个宏就是用来提取包含链表项的结构的指针.从list_entr

成为MySQL DBA博客-性能配置调优

首先 性能优化是一个持续的过程,安装MySQL通常是调整操作系统和数据库配置的第一步.而数据库是一个动态系统,这是一个永无止境的故事.你的MySQL数据库起初可能是CPU绑定的,因为你有足够的内存和很少的数据.随着时间的推移,它可能会改变,磁盘访问可能会变得更加频繁.正如你可以想象的那样,I / O是主要关心的服务器的配置看起来不同于所有数据都适合内存的服务器的配置.此外,您的查询组合也可能随时间而改变,因此访问模式或MySQL中可用功能的使用(如自适应哈希索引)可随之改变. OS系统优化 需要

数据库升级-成为MySQL DBA 博客系列(之二)

数据库供应商通常每个月都会发布一些有bug /安全性修补程序的补丁,我们为什么要关心这些?因为,新的版本可能对安全漏洞或黑客入侵系统进行修复,所以除非不关注安全性能,否则,您会希望在您的系统安装上最新的安全修补程序.其中MySQL主要版本比较少见,通常是次版本升级,但是他们可能会带来一些重要的功能,使得升级是值得的. 在这篇博文中,我们将介绍DBA的一个最基本的任务-次要版本数据库升级和主要数据库升级. MySQL升级 有两个MySQL官方版本已经不再关注和修复,是因为是在oracle收购MyS

在Centos 6.3下编译安装Nginx+php+Mysql

说明: 操作系统:CentOS 6.3 32位 准备篇: 一.配置好IP.DNS .网关,确保使用远程连接工具能够连接服务器 二.配置防火墙,开启80端口.3306端口 vi /etc/sysconfig/iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT #允许80端口通过防火墙 -A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j

网站做新浪(sina)博客优化推广方案详解

对于做SEO的人来说,应该没有人不知道新浪博客的吧,毕竟这么好的外链平台.今天我们来为大家讲解下新浪博客的优化方法. 1.新浪博客的建立.首先得注册一个新浪博客,注册成功后,你就拥有一个新浪博客了,当然并不是拿着这个新浪博客就开始发一些内容到博客上,我们得先设置好博客的路径,可能很多人不知道如何去设置路径,因为我看很多人的博客都是新浪默认的系统路径,所以在此跟大家讲一下.进入你的新浪博客后,首先点击博客左上角的"个人中心",然后再点击右边的"设置",再点击"