虚拟机linux上源码安装两个mysql的一些问题。
2016-10-20 09:11
363 查看
面试的面试官问是否搭过主从复制环境,我说就一台电脑,搭不起来(网络端口什么的都不清楚,完全不知道可以开不同的端口,丢脸丢大发了)。所以昨天在linux虚拟机上安装了两个mysql,结果出现好多问题,记录一下。
不像windows下安装只要下一步下一步就行,源码安装就是将代码编译链接后生成可执行文件,所以下载了源码文件后需要编译。编译需要编译器(类似vs? vc吧),linux下为gcc、g++。还有其他的一些工具,网上一搜一大片,不再赘述。
之后就按照网上说的,先cmake设置一些变量(如安装路径,选择一些存储引擎等),这一步应该是生成了makefile文件。
make按照makefile文件进行编译,make install按照makefile进行链接生成可执行文件。把权限改一改,之后问题就不断出现。
第一个mysql安装在/usr/local/mysql1中,先初始化数据库,然后修改my.cnf文件(没有拷贝到/etc/my.cnf中,因为第二个也会先搜索这个文件,然后再搜索basedir下的my.cnf),包括datadir,basedir,port等。为了防止和第二个mysql冲突,我把socket也改了(虽然我都不知道这是干啥的,看网上改自己也改了)。
把basedir/bin目录加入到/etc/profile文件中(可以直接用mysql,mysqldump等工具),然后把support-files/mysql.server拷贝到/etc/init.d/mysql1(可以直接service mysql start|stop等操作了)。
mysql -uroot -p的时候总是说无法通过/tmp/mysql.sock连接数据库,上网百度后,改了my.cnf中mysql,client中的socket配置,还是连不上。最后用mysql -uroot -S /tmp/mysql1.sock才能连上(为什么改配置文件中的socket不起作用?)
第二个mysql安装在/usr/local/mysql2中,my.cnf中把datadir,basedir改了,端口改在3305上,socket改为/tmp/mysql2.sock。其他同mysql1.
结果启动mysql2的时候发现总是报错,out of memory什么的。我看内存共有1G,用了700m,怎么会内存不够呢。后来发现我装的mysql版本5.6.14运行起来就占400多兆,把innodb_buffer_pool_size和key_buffer_size等参数全改小了还是不好使,最后加了下面三句就好了
performance_schema_max_table_instances=400
table_definition_cache=400
table_open_cache=256
mysql内存瞬间降到了60M。
这回再启动mysql2应该没问题了,结果
启动MySql提示:The server quit without updating PID file(…)失败,心好累。
网上说的改了都不好用,看了看错误日志文件,把/var/lock/subsys下有关mysql的全删了,结果可以运行了。
相关文章推荐
- mysql-5.6.20 源码安装的一些问题
- 安装Hypertable源码过程中遇到的一些问题
- linux yum安装mysql后要注意的一些初始化问题
- 用mysql5.6.21源码安装mysql出现问题解决
- mysql 安装过程中碰到的一些问题
- apache+mysql+php+phpmyadmin安装的一些问题
- Fedora 16 下安装mysql 出现Unit mysql.service failed to load 等一些问题的总结
- Linux 二进制包安装MySQL的一些问题
- RHEL5.7 64位源码编译安装mysql-5.5.42遇到的问题
- MySQL源码安装完成后修改安装路径启动问题
- 安装perl和DBI-mysql出现的一些问题
- windows 7 下安装apache php 和mysql的一些问题。
- 从源码安装mysql无法定位basedir问题的解决方法
- 源码包安装mysql的一些基本使用方法
- linux yum安装mysql后要注意的一些初始化问题
- 安装mysql时的一些问题
- php-Mysql安装遇到的两个问题
- 安装mysql过程还有出现的一些问题
- Ubuntu Server9 + Tomcat + mysql + Jdk 安装后遇到的一些常见问题
- Mysql 安装及一些小问题