--【MySQL源码】源码安装和启动mysql

--------------------------------------2014/08/19

本机环境:ubuntu12.04,fedora-17

MYSQL版本:5.5.28

CMAKE版本:2.8.9

一.下载最新版本的cmake,解压后编译安装.

sudo ./configure --prefix=/usr/local/etc/cmake-2.8.9
sudo make
sudo make install
sudo ln -s /usr/local/etc/cmake-2.8.9/bin/cmake /usr/local/bin/cmake

现在可以使用cmake命令了!

如果出现以下提示,请先安装g++。

---------------------------------------------
CMake 2.8.9, Copyright 2000-2011 Kitware, Inc.
C compiler on this system is: cc
---------------------------------------------
Error when bootstrapping CMake:
Cannot find appropriate C++ compiler on this system.
Please specify one using environment variable CXX.
See cmake_bootstrap.log for compilers attempted.
---------------------------------------------
Log of errors: /usr/local/src/cmake-2.8.9/Bootstrap.cmk/cmake_bootstrap.log
---------------------------------------------

ubuntu下用

sudo apt-get install g++

redhat系列下用

sudo yum install gcc-c++

下载最新的mysql源码包,解压后,进入其跟目录

sudo cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/etc/mysql-5.5.28 \
-DMYSQL_DATADIR=/usr/local/etc/mysql-5.5.28/data \
-DEXTRA_CHARSETS=all \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DMYSQL_TCP_PORT=3306 \
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \ # 这里附上一行版的,方便粘贴
# 注:此处路径为/opt下,如果要和上面保持一致,请手动修改
# sudo cmake -DCMAKE_INSTALL_PREFIX=/opt/mysql-5.5.28 -DMYSQL_DATADIR=/opt/mysql-5.5.28/data -DEXTRA_CHARSETS=all -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DMYSQL_TCP_PORT=3306 -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DWITH_INNOBASE_STORAGE_ENGINE=1 sudo make
sudo make install --添加debug功能,在cmake后面添加参数-DWITH_DEBUG=ON
更多参数选项,参考官方文档:http://dev.mysql.com/doc/refman/5.7/en/source-configuration-options.html

如果编译过程出现如下错误 需安装libncurses5-dev

-- Could NOT find Curses (missing:  CURSES_LIBRARY CURSES_INCLUDE_PATH)
CMake Error at cmake/readline.cmake:83 (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:127 (FIND_CURSES)
cmake/readline.cmake:217 (MYSQL_USE_BUNDLED_LIBEDIT)
CMakeLists.txt:268 (MYSQL_CHECK_READLINE) -- Configuring incomplete, errors occurred!
sudo apt-get install libncurses5-dev
#删除编译缓存信息
sudo rm -rf CMakeCache.txt

编译完成后创建数据库

./scripts/mysql_install_db --user=root --basedir=/opt/mysql-5.5./ --datadir=/opt/mysql-5.5./data/

创建完成后就可以启动数据库了

./bin/mysqld_safe --defaults-file=/etc/my.cnf --datadir=/opt/mysql-5.5./data/ --basedir=/opt/mysql-5.5./ --port= --user=root&

不知道是否是因为最新版本mysql 5.7的限制,我使用忽略权限表的方式登录数据库后,将密码修改为空,然后重启mysqld,再已空密码登录成功。

而后进行查询和创建数据库操作,报以下错误:

ERROR 1820 (HY000): You must SET PASSWORD before executing this statement

通过:set password=password("");即可解决问题。

最新文章

  1. Matlab 利用参数方程绘制空心球体
  2. linux(debian) arm-linux-g++ v4.5.1交叉编译 embedded arm 版本的QtWebkit (browser) 使用qt 4.8.6 版本
  3. UVA1220Party at Hali-Bula(树的最大独立集 + 唯一性判断)
  4. nginx.conf配置及优化相关
  5. Truncating HTML attribute value in SharePoint DataFormWebPart
  6. Using Run-Time Dynamic Linking(使用运行时动态链接库)
  7. struts2 使用jsonplugin
  8. HDU 5091 线段树扫描线
  9. 流动python - 八皇后问题简单解决方案
  10. 对于ArrayList中的泛型进行分析
  11. mysql查看编码格式以及修改编码格式
  12. AtCoder Beginner Contest 053
  13. 针对IE浏览器的CSS样式(兼容性)
  14. 剑指offer例题——旋转数组的最小数字
  15. 解决Sqoop报错Could not load db driver class: com.intersys.jdbc.CacheDriver
  16. C语言学习链接
  17. [Deep Learning]任意层cnn的matlab版本实现
  18. java中super的用法
  19. hdu 1159 Common Subsequence(最长公共子序列)
  20. Olesya and Rodion (思维)

热门文章

  1. lucky 的 时光助理(2)
  2. TODO:软件升级的那些事
  3. 关于float和margin
  4. cordova for ios(android一样)添加插件
  5. 分析Masonry
  6. LeetCode 【21. Merge Two Sorted Lists】
  7. CodeForces 259A Little Elephant and Chess
  8. OpenCV白平衡算法之灰度世界法(消除RGB受光照影响)
  9. MPI编程简单介绍
  10. (用微信扫的静态链接二维码)微信native支付模式官方提供的demo文件中的几个bug修正
  11. javascript for
  12. zoj - 3209 - Treasure Map(精确覆盖DLX)
  13. C# 中 重载,重写,隐藏的区别
  14. mesos 资源分配
  15. Springboot(一):入门篇
  16. Spring Security 概念基础 验证流程
  17. 【Swift】IOS开发中自定义转场动画
  18. teachable-machine:探索机器学习如何工作,浏览器中实时浏览
  19. awk 用法(转)
  20. javascript检测浏览器的缩放状态实现代码 是指浏览器网页内容的百分比缩放(按Ctrl和+号键或者-号键的缩放)