开发者社区> 科技小能手> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

源码编译安装mysql5.6报错及解决方法

简介:
+关注继续查看

以前都是根据铭哥教程里面的mysql5.1做的LAMP搭建,比较顺利,看到小伙伴们各个在源码编译,于是也试了一把,安装mysql5.6,过程如下:

1.首先下载源码包,解压到目录
2.切换到mysql所在目录执行cmake命令
3.由于系统没有cmake命令,于是yum install cmake -y   进行安装
4.前面步骤细节就省略了,直接到cmake这里:
#cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/data/mysql_data -DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock -DSYSCONFDIR=/etc -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DMYSQL_TCP_PORT=3306 -DENABLED_LOCAL_INFILE=1 -DWITH_PARTITION_STORAGE_ENGINE=1 -DEXTRA_CHARSETS=all -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci




报错如下:
-- Could NOT find Curses (missing:  CURSES_LIBRARY CURSES_INCLUDE_PATH)

CMake Error at cmake/readline.cmake:82 (MESSAGE):
  Curses library not found.  Please install appropriate package,

      remove CMakeCache.txt and rerun cmake.On Debian/Ubuntu, package name is libncurses5-dev, on Redhat and derivates it is ncurses-devel.
Call Stack (most recent call first):
  cmake/readline.cmake:126 (FIND_CURSES)
  cmake/readline.cmake:216 (MYSQL_USE_BUNDLED_LIBEDIT)
  CMakeLists.txt:250 (MYSQL_CHECK_READLINE)


解决方法:

[root@localhost mysql-5.6.1]# rm CMakeCache.txt
[root@localhost mysql-5.6.1]# yum install ncurses-devel

[root@localhost mysql-5.5.11]# yum install bison

接着继续执行编译

#cmake......

#make && make install


2.编译完成,安装好之后

2.1 新建系统用户mysql ,并禁止登陆

#useradd -s /sbin/nologin mysql

2.2 建立数据库存放目录

#mkdir -p /data/mysql_data

#chown -R mysql:mysql /data/mysql_data

2.3进行数据库初始化:

#cd /usr/local/mysql 

#./scripts/mysql_install_db --user=mysql --datadir=/data/mysql_data

#cp support-files/my-large.cnf /etc/my.cnf 
#cp support-files/mysql.server /etc/init.d/mysqld
#chmod 755 /etc/init.d/mysqld 
#vim /etc/init.d/mysqld          //添加datadir=路径

#service mysqld start            -------------------------------服务启动报错

报错信息如下:

[root@centos6 mysql_data]# service mysqld start
Starting MySQL...The server quit without updating PID file [失败]/mysql_data/centos6.6.pid).

解决方法:

根据报错信息,怀疑可能文件丢失造成的原因,对比我另外一个测试机已经搭建好的环境,检查同样的数据库目录下,发现本机确实少了一个centos6.6.pid文件

解决方法:

#cd /data/mysql_data                //数据库文件存放目录

#vi centos6.6.pid         //编辑此文件,添加一个pid号码

1583  

保存退出。           //1583是我在系统中随意添加的号,只要保证系统进程里没有的ID都可以

#service mysqld start      正常启动                         ----------------------------成功解决



其他原因也可造成上述错误,具体原因具体解决方法参考:http://blog.sina.com.cn/u/2157443242

如有问题,欢迎指正!



本文转自 小杨_Ivan 51CTO博客,原文链接:http://blog.51cto.com/aqiang/1895593

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
23704
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载