MySQL 5.5(5.6)后版本,需要使用cmake(Cross make , https://cmake.org/ )编译

我的环境如下:  

  VMWare虚拟机,CentOS 5.5 x86_64(内核:2.6.18-194.el5),SecureCRT客户端

第一步:安装开发环境

[root@ocean ~]#  yum groupinstall "Development Libraries" -y

第二步:准备cmake源码包/MySQL源码包  

      [root@ocean ~]#  mkdir /app/soft -p

      [root@ocean ~]#  cd /app/soft

      [root@ocean soft]# rz

  [root@ocean soft]# ls
  cmake-3.3.2.tar.gz  mysql-5.6.26.tar.gz

  现在看到的 cmake-3.3.2.tar.gz 是 cmake 源码压缩包,可以在 https://cmake.org/download 下载到。

  mysql-5.6.26.tar.gz 下载地址为:http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.26.tar.gz

  个人建议cmake,下载2.8版本的,地址:http://www.cmake.org/files/v2.8/cmake-2.8.10.2.tar.gz

  解压源码包  

[root@ocean soft]# tar xf cmake-3.3.2.tar.gz
     [root@ocean soft]# ls
     cmake-3.3.2.tar.gz mysql-5.6.26.tar.gz
     cmake-3.3.2 mysql-5.6.26

第三步:编译并安装cmake  

[root@ocean soft]# cd cmake-3.3.2
     [root@ocean cmake-3.3.2]# ls
     Auxiliary CMakeLogo.gif CTestConfig.cmake Modules
     bootstrap cmake_uninstall.cmake.in CTestCustom.cmake.in README.rst
     CMakeCPack.cmake CompileFlags.cmake DartConfig.cmake Source
     CMakeCPackOptions.cmake.in configure doxygen.config Templates
     CMakeGraphVizOptions.cmake CONTRIBUTING.rst Help Tests
     CMakeLists.txt Copyright.txt Licenses Utilities
     [root@ocean cmake-3.3.2]#

   [root@ocean cmake-3.3.2]# ./configure 

   当然除了使用源码编译安装外,还可以 yum install cmake -y 方式进行安装。

这一步,我折腾了很久。最后实在没办法,卸载3.3版本的cmake,重新安装2.8版本,终于各种奇葩的问题就没了、

第四步:创建MySQL数据库目录

   我新加了一个SISC接口的磁盘来作为mysql的数据盘用的、

[root@ocean ~]# fdisk /dev/sdb

The number of cylinders for this disk is set to 2610.
     There is nothing wrong with that, but this is larger than 1024,
     and could in certain setups cause problems with:
     1) software that runs at boot time (e.g., old versions of LILO)
     2) booting and partitioning software from other OSs
     (e.g., DOS FDISK, OS/2 FDISK)

Command (m for help): n

   Command action
         e extended
         p primary partition (1-4)

p

Partition number (1-4): 2

First cylinder (1826-2610, default 1826):

Using default value 1826

Last cylinder or +size or +sizeM or +sizeK (1826-2610, default 2610): +20G

Command (m for help): w

   [root@ocean ~]# mke2fs -j /dev/sdb2

[root@ocean ~]# mkdir /mydata/    # 创建sdb2的挂在目录

   [root@ocean ~]# vim /etc/fstab               # 磁盘自动挂载

/dev/VolGroup00/LogVol00 / ext3 defaults 1 1
      LABEL=/boot /boot ext3 defaults 1 2
      tmpfs /dev/shm tmpfs defaults 0 0
      devpts /dev/pts devpts gid=5,mode=620 0 0
      sysfs /sys sysfs defaults 0 0
      proc /proc proc defaults 0 0
      /dev/VolGroup00/LogVol01 swap swap defaults 0 0
      /dev/sdb2 /mydata ext3 defaults 0 0

   [root@ocean ~]# mount -a

[root@ocean ~]# mkdir /mydata/data -p

    小提示:在SecureCRT在fdisk命令如果输错参数,退格无法删除输入字符,请使用ctrl+退格

第五步:创建MySQL用户,组,属组授权

    [root@ocean soft]# groupadd -r mysql

[root@ocean soft]# useradd -r -g mysql -s /sbin/nologin mysql

[root@ocean soft]# chown -R mysql.mysql /mydata/data

第六步:编译MySQL(cmake . -LH , make && make install)

   [root@ocean soft]# cmake . -LH

[root@ocean soft]# cmake . -DDATA_DIR=/mydata/data   # 设置mysql数据库存放目录为第四步创建的目录,有其它参数可以在这里设置

关于cmake,可以参考下这里:http://www.ttlsa.com/mysql/configure-to-cmake/

[root@ocean soft]# make && make install

第七步:配置MySQL(mysql安装目录属组/MySQL初始化脚本)

  [root@ocean soft]# cd /usr/local/mysql       

  [root@ocean mysql]# chown -R :mysql /usr/local/mysql    # 将mysql安装目录的属组设置为mysql

  [root@ocean mysql]# scripts/mysql_install_db --user=mysql --datadir=/mydata/data

Installing MySQL system tables...

OK

...........其它信息忽略了...............

第八步:配置MySQL(编辑配置文件,mysqld服务开机自启)

[root@ocean mysql]# cp support-files/my-default.cnf /etc/my.cnf

[root@ocean mysql]# cp support-files/mysql.server  /etc/init.d/mysqld

[root@ocean mysql]# chkconfig --add  mysqld    # 添加到开机自启服务列表

[root@ocean mysql]# chkconfig --list mysqld

mysqld          0:off   1:off   2:on    3:on    4:on    5:on    6:off

[root@ocean mysql]# service mysqld start

Starting MySQL....                 [OK]          # 不容易啊,安装完成了,o(∩_∩)o ~~

第九步:登录MySQL 

[root@ocean mysql]# ls
   bin data include lib my.cnf README share support-files
   COPYING docs INSTALL-BINARY man mysql-test scripts sql-bench
   [root@ocean mysql]# mysql            # 我已经把 /usr/local/mysql/bin 加入了PATH,但输入 mysql 登录时候得到下面的错误
   mysql: error while loading shared libraries: libmysqlclient.so.15: cannot open shared object file: No such file or directory

[root@ocean mysql]# bin/mysql      # 换种方式,直接用 bin/mysql ,注意哦。全路径其实是 /usr/local/mysql/bin/mysql
   Welcome to the MySQL monitor. Commands end with ; or \g.
   Your MySQL connection id is 8
   Server version: 5.6.26 Source distribution

Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
   affiliates. Other names may be trademarks of their respective
   owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>

mysql> show databases;
   +--------------------+
   | Database |
   +--------------------+
   | information_schema |   
   | mysql |
   | performance_schema |
   | test |
   +--------------------+
   4 rows in set (0.00 sec)

第十步:简单的安全设置(删除匿名用户,修改密码)

mysql> drop user ''@localhost;    // localhost 为主机名。或者可以直接修改修改掉所有用户的密码

mysql> update mysql.user set password=password('123@456') where user='root';  // 修改密码

mysql> flush privileges;  // 刷新、重新加载权限 

mysql> quit;
   Bye
   [root@oceanmysql]# bin/mysql
   ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
   [root@oceanmysql]# bin/mysql -u root -p
   Enter password:
   Welcome to the MySQL monitor. Commands end with ; or \g.
   Your MySQL connection id is 11
   Server version: 5.6.26 Source distribution

Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
   affiliates. Other names may be trademarks of their respective
   owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>

 新加一个允许【客户端IP地址为:10.0.0.1;用户名:ocean;密码:123456的mysql用户】

 mysql> insert into mysql.user(

mysql> host,user,password,ssl_cipher,x509_issuer,x509_subject )

mysql> values('10.0.0.1','ocean',password('123456'),'','','') ;

 参数资料:http://blog.chinaunix.net/uid-20577907-id-3082601.html

注意了哦(ssl_cipher,x509_issuer,x509_subject,这三个字段。我在写入mysql.user表时候提示没有默认值,才加了这三个字段,一般只需要host,user,password 就可以了、)

来一张10.0.0.1客户端通过Navicat连接到数据的截图。

第十一步:本地不输入密码连接到MySQL(在用户家目录下,编辑一个 .my.cnf)

[root@ocean ~]# vi .my.cnf

[client]
   user=root
   host=localhost
   password=123@456

[root@hevin ~]# /usr/local/mysql/bin/mysql
   Welcome to the MySQL monitor. Commands end with ; or \g.
   Your MySQL connection id is 17
   Server version: 5.6.26 Source distribution

Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
   affiliates. Other names may be trademarks of their respective
   owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>

-----------------------------------------------------------------------------------------------------

啊哈,笔记终于完成了咯。

温馨提示、再提供了一个对 剪贴板图片轻松保存的 小工具。有兴趣的园友试试看。

轻松保存您剪贴板中的截图到任意目录。【支持ctrl+v快捷】,不妨看看,或许你用到了呢?~

http://www.cnblogs.com/oceanho/p/4714204.html

 

最新文章

  1. 让我们山寨一张Windows Azure Global的壁纸
  2. IOS OC 多任务定时器 NSRunLoop 管理 NSTimer
  3. 第59讲:Scala中隐式转换初体验
  4. VHDL生成的ngc文件被verilog的工程调用的问题
  5. KlayGE 4.4中渲染的改进(二):DR的其他改进
  6. Delphi如何打开DBF数据库
  7. c++中的243、251、250错误原因
  8. mongo db 分享 ppt
  9. JDBC-简单的学生管理系统-增删改查
  10. bzoj2243-染色(动态树lct)
  11. SqlMapClient ,SqlExecutor 和SqlMapClientTemplate 的区别?
  12. 混合式app ionic2.x 手动搭建开发环境教程分享(nodejs,jdk,ant,androidsdk)
  13. DCGAN 论文简单解读
  14. 【STM32H7教程】第12章 STM32H7的HAL库框架设计学习
  15. 20175206迭代与JDB测试
  16. MailKit帮助类
  17. Linux初学笔记---关于进程管理等
  18. BZOJ1195 [HNOI2006]最短母串 AC自动机 bfs
  19. CSRF攻击和防护
  20. LINUX下IDEA等工具调试项目时提示:Unable to open debugger port

热门文章

  1. C4C和Outlook的集成
  2. [转载]Memcached缓存服务的简单安装
  3. A. Round House_数学问题
  4. 【[TJOI2017]DNA】
  5. visual attention
  6. JavaScript你必须掌握的8大知识点
  7. 前端面试整理(HTML&CSS)
  8. 深入理解JVM类加载机制 classloader
  9. fastjson 应用
  10. AsyncDisplayKit技术分析