• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

Linux下编译安装第二个MySQL

mysql 搞代码 4年前 (2022-01-09) 12次浏览 已收录 0个评论

Linux的作业要自己编译一个MySQL,但是我的系统上已经有一个MySQL了,再编译一个,最麻烦的地方不在于编译,而是让两个共存。

Linux的作业要自己编译一个MySQL,但是我的系统上已经有一个MySQL了,再编译一个,最麻烦的地方不在于编译,而是让两个共存。

前面的编译环节和普通安装没有什么区别,还是configure,make,make install。其中configure的时候,选择一下安装的位置,否则可能导致原来的文件被覆盖(使用–prefix选项)。我的破电脑make的时候花了不少时候(具体多少我也不清楚,开始编译之后就去吃饭了),安装好之后,按照MySQL的手册复制support-files/my-medium.cnf到安装目录里面的var目录下(没有安装数据库的时候这个文件夹不存在,自己在安装根目录下创建一个),然后修改里面的客户端通信使用的socket文件的本文来源gao@!dai!ma.com搞$$代^@码!网!名字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行注释。


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:Linux下编译安装第二个MySQL
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址