环境

centos7.2

源码包mysql5.5.38

mysql5.5开始,源码配置编译工具configure变成了cmake,所以先要去把cmake装上。并安装make,bison,cmake,gcc-c++,ncurses的包

首先安装依赖包

yum install make *curses* gcc gcc44* gcc-c++ gcc-g77 cmake -y

创建用户名mysql 设置不创建用户主目录、设置不能登录

useradd -M -s /sbin/nologin mysql
创建mysql存放数据库目录
mkdir -p /data/mysql
更改目录权限
chown -R mysql:mysql /data/mysql/
解压myslq源码包 进入目录
tar -xzvf mysql-5.5..tar.gz
cd mysql-5.5.

编译

/usr/bin/cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql/ \
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock \
-DMYSQL_UNIX_ADDR=/data/mysql/mysql.sock \
-DSYSCONFDIR=/etc \
-DMYSQL_USER=mysql \
-DMYSQL_TCP_PORT= \
-DWITH_XTRADB_STORAGE_ENGINE= \
-DWITH_INNOBASE_STORAGE_ENGINE= \
-DWITH_PARTITION_STORAGE_ENGINE= \
-DWITH_BLACKHOLE_STORAGE_ENGINE= \
-DWITH_MYISAM_STORAGE_ENGINE= \
-DWITH_READLINE= \
-DENABLED_LOCAL_INFILE= \
-DWITH_EXTRA_CHARSETS= \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DEXTRA_CHARSETS=all \
-DWITH_BIG_TABLES= \
-DWITH_DEBUG=
编译完成后,安装数据库 
make && make install

初始化数据库

mv /etc/my.cnf /etc/my.cnf.bak
cp /usr/local/mysql/support-files/my-medium.cnf  /etc/my.cnf
/usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql/ --datadir=/data/mysql/ --defaults-file=/etc/my.cnf
vim /etc/my.cnf 

sed -i '46s#basedir=#basedir=/usr/local/mysql#g' /etc/init.d/mysqld
sed -i '47s#datadir=#datadir=/data/mysql#g' /etc/init.d/mysqld
#添加mysql服务
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
chkconfig --add mysqld
chkconfig mysqld on # 开机启动mysql
#启动服务
service mysqld restart #做链接
ln -s /usr/local/mysql/bin/mysql /usr/bin
ln -fs /usr/local/mysql/bin/mysqldump /usr/bin
ln -s /usr/local/mysql/lib/libmysqlclient.so. /usr/lib64/libmysqlclient.so.
ln -s /usr/local/mysql/bin/mysql /usr/local/bin/mysql
ln -s /usr/local/mysql/bin/mysqlimport /usr/local/bin/mysqlimport
ln -s /usr/local/mysql/bin/mysqldump /usr/local/bin/mysqldump
ln -s /usr/local/mysql/bin/mysql_config /usr/local/bin/mysql_config
ln -s /usr/local/mysql/bin/mysqladmin  /usr/bin/
ln -s /usr/local/mysql/include/* /usr/local/include/ ps -ef |grep mysql 看看启动成功没
或者看端口监听没有 netstat -tnl |grep 3306

最新文章

  1. [LeetCode] Find Right Interval 找右区间
  2. Mysql基础(二)
  3. 解决CSS移动端1px边框问题
  4. java截取图片部分尺寸
  5. IOS用CGContextRef画各种图形(文字、圆、直线、弧线、矩形、扇形、椭圆、三角形、圆角矩形、贝塞尔曲线、图片)
  6. C++的优秀特性6:智能指针
  7. 学渣告诉你,到底神马是傅里叶级数!转自 新浪@工程师style
  8. java学习面向对象之匿名内部类
  9. 未能从程序集“WindowsBase, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35“ 中加载“System.Windows.SplashSceen”
  10. HTML5 Canvas Text文本居中实例
  11. css入门之css选择器
  12. doubango(3)--协议栈的启动过程
  13. js的map方法遍历数组
  14. linux 下通过xhost进入图形界面,经常会出现报错“unable to open display”
  15. Python version 2.7 required, which was not found in the registry解决方法
  16. kafka+docker+python
  17. 2018/03/28 每日一个Linux命令 之 mkdir/rmdir
  18. DB2 的事务日志
  19. Java从零开始学四(数据类型)
  20. info.plist

热门文章

  1. 基于【CentOS-7+ Ambari 2.7.0 + HDP 3.0】搭建HAWQ数据仓库 —— MariaDB 安装配置
  2. 【中间件安全】Nginx 安全加固规范
  3. spark - Locality Level
  4. Windows Server 2008 R2远程协助选项 灰色
  5. 体验 PHP under .NET Core
  6. Codeforces 698A - Vacations - [简单DP]
  7. 1.7Oob 构造方法
  8. layer开启与关闭加载层
  9. RabbitMQ性能优化
  10. 优化网站设计(七):避免在CSS中使用表达式