MySQL 最新的版本5.5.11需要cmake编译安装,估计以后的版本也会采用这种方式,网上找了一些安装方法有些地方是错的,自己整理一份 所以特地记录一下安装步骤及过程,以供参考!

1 mysql 5.5.11编译安装

1.1 安装所需要系统库相关库文件

gcc gcc-c++ gcc-g77 autoconf automake zlib* fiex* libxml* ncurses-devel libmcrypt* libtool-ltdl-devel*

1.2 创建mysql安装目录

[root@localhost mysql-5.5.11]# mkdir -p /usr/local /mysql/

1.3 创建数据存放目录

[root@localhost mysql-5.5.11]# mkdir -p /data/mysql/

1.4 创建用户和用户组与赋予数据存放目录权限

[root@localhost mysql-5.5.11]# groupadd mysql

[root@localhost mysql-5.5.11]# useradd -g mysql mysql

[root@localhost mysql-5.5.11]# chown mysql.mysql -R /data/mysql/

1.5 安装cmake

(mysql5.5以后是通过cmake来编译的)下载解压cmake-2.8.4.tar.gz

[root@localhost mysql-5.5.11]# wget http://www.cmake.org/files/v2.8/cmake-2.8.4.tar.gz

[root@localhost mysql-5.5.11]# tar zxvf cmake-2.8.4.tar.gz

[root@localhost mysql-5.5.11]# cd cmake-2.8.4

[root@localhost cmake-2.8.4]# ./bootstrap

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

报错:缺少C的编译器。

安装gcc编译器

可以从Linux系统的安装盘中安装,也可以简单地用yum安装

[root@localhost ~]# yum install gcc

继续cmake的安装

[root@localhost cmake-2.8.4]# ./bootstrap

--------------------------------------------- CMake 2.8.4, Copyright 2000-2009 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.4/Bootstrap.cmk/cmake_bootstrap.log ---------------------------------------------

再次报错:缺少C++编译器。

安装gcc-c++编译器

同样可以从Linux系统的安装盘中安装,或者简单地用yum安装

[root@localhost ~]# yum install gcc-c++

重复上面的操作

[root@localhost cmake-2.8.4]# ./bootstrap

没有报错后,编译安装

[root@localhost cmake-2.8.4]# gmake

[root@localhost cmake-2.8.4]# gmake install

[root@localhost cmake-2.8.4]#./configure

[root@localhost cmake-2.8.4]# make && make install

1.6 安装mysql 5.5.11

[root@localhost mysql-5.5.11]#wget http://mirrors.sohu.com/mysql/MySQL-5.5/mysql-5.5.11.tar.gz

[root@localhost down]# tar zxvf mysql-5.5.11.tar.gz

[root@localhost down]# cd mysql-5.5.11

1.7 编译mysql-5.5.11

[root@localhost mysql-5.5.11]#cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \

-DMYSQL_UNIX_ADDR=/data/mysql/mysql.sock \

-DDEFAULT_CHARSET=utf8 \

-DDEFAULT_COLLATION=utf8_general_ci \

-DWITH_EXTRA_CHARSETS:STRING=utf8,gbk \

-DWITH_MYISAM_STORAGE_ENGINE=1 \

-DWITH_INNOBASE_STORAGE_ENGINE=1 \

-DWITH_MEMORY_STORAGE_ENGINE=1 \

-DWITH_READLINE=1 \

-DENABLED_LOCAL_INFILE=1 \

-DMYSQL_DATADIR=/data/mysql \

-DMYSQL_USER=mysql \

-DMYSQL_TCP_PORT=3306

上面的命令一次拷进命令行。

若运行上面命令出现如下错误:

*****************************************

-- Could NOT find OpenSSL (missing: OPENSSL_LIBRARIES OPENSSL_INCLUDE_DIR)

-- 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:118 (FIND_CURSES)

cmake/readline.cmake:214 (MYSQL_USE_BUNDLED_READLINE)

CMakeLists.txt:257 (MYSQL_CHECK_READLINE)

-- Configuring incomplete, errors occurred!

解决办法:

rm -f CMakeCache.txt

yum -y install ncurses-devel

yum install bison

然后再使用cmake编译就可以了.

****************************************

[root@host mysql-5.5.11]# make

[root@host mysql-5.5.11]# make install

1.8 复制配置文件

[root@mysql-5.5.11]# cp support-files/my-medium.cnf /etc/my.cnf

1.9 初始化数据库

(执行前 需要chmod 755 scripts/mysql_install_db 赋给文件执行权限)

[root@localhost mysql-5.5.11]#scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql/

注:#basedir mysql安装路径 datadir 数据库文件储存路径

1.10.设置mysqld的开机启动

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

[root@mysql-5.5.11]# chmod 755 /etc/init.d/mysql

[root@mysql-5.5.11]# chkconfig mysql on

1.11 启动mysql服务

[root@localhost mysql-5.5.11]# /etc/init.d/mysql start //服务器端开关

/etc/init.d/mysql start

Starting MySQL.The server quit without updating PID file (/usr/local/mysql/data/localhost.localdomain.pid). [FAILED] 启动mysql失败

解决Mysql不能启动的问题

安装好MYSQL后启动数据库出错

[root@localhost mysql]# service mysqld start

Starting MySQL..Manager of pid-file quit without updating f[失败]

在网上查了半天,找到的有两种方法,

1、在 my.cnf 中增加了 在server下面

# The MySQL server

[mysqld]

port = 3306

socket = /tmp/mysql.sock

添加下面一行

datadir = /var/lib/mysql/

[safe_mysqld]

err-log = /var/log/mysqld.log

pid-file = /var/lib/mysql/localhost.localdomain.pid

重新启动 mysql成功

/usr/local/mysql/var/db1.pid 这个文件名字貌似不能随便指定的

(我指定成了别的是不行的 ,这里的db1是你的hostname)

2、修改改selinux的 我改了 重新启动机器就行了,以下是SELINUX配置文件

[root@localhost selinux]# vi config

# This file controls the state of SELinux on the system.

# SELINUX= can take one of these three values:

# enforcing - SELinux security policy is enforced.

# permissive - SELinux prints warnings instead of enforcing.

# disabled - SELinux is fully disabled.

#SELINUX=enforcing

SELINUX=disabled

# SELINUXTYPE= type of policy in use. Possible values are:

# targeted - Only targeted network daemons are protected.

# strict - Full SELinux protection.

SELINUXTYPE=targeted

然后重启计算机

[root@localhost ~]# /etc/init.d/mysql restart

Shutting down MySQL. [ OK ]

Starting MySQL.. [ OK ]

启动完成之后用ps -ef |grep mysql 命令查看是否启动

[root@localhost mysql-5.5.11]#/mysql –u root –p //client开关参照1.11一文

2 标准的mysql安装设置

2.1 设置root帐户的密码

[root@localhost mysql-5.5.11]#mysql -u root

>use mysql;

//设置root的密码为‘123’

>update user set password=password('123') where user = 'root';

注意: mysql的用户密码是需要password()函数进行加密的。

-bash: mysql: command not found 解决办法

******************************************

root@DB-02 ~]# mysql -u root

-bash: mysql: command not found

原因:这是由于系统默认会查找/usr/bin下的命令,如果这个命令不在这个目录下,当然会找不到命令,我们需要做的就是映射一个链接到/usr/bin目录下,相当于建立一个链接文件。

首先得知道mysql命令或mysqladmin命令的完整路径,比如mysql的路径是:/usr/local/mysql/bin/mysql,我们则可以这样执行命令:

# ln -s /usr/local/mysql/bin/mysql /usr/bin

******************************************

2.2 删除本机匿名连接的空密码帐号

本机登录mysql

[root@localhost mysql-5.5.11]#mysql –u root -p

然后输入上面设置的密码,登录后在mysql的命令行中执行:

mysql>use mysql; //选择默认数据库mysql

mysql>update user set password=’root’ where user = '127.0.0.1';

mysql>delete from user where password="";//不允许root密码为空

mysql>flush privileges;

mysql>quit

容许root用户是远程登录

对于root账号,如果考虑安全应该新建其他账号用于远程登录,root账号可以不必开启远程登录。不过对于一般使用,没有太多安全需求,允许root用户远程登录可以方便管理,毕竟使用专用管理软件的图形界面在操作方面要方便的多。

3 实现MySQL远程连接的实际操作流程

3.1 mysql 数据库端设置

[root@localhost mysql-5.5.11]#/mysql –u root –p //进入数据库

mysql>use mysql

mysql>select user,password,host from user;

mysql>update user set host = '192.168.%' where user = '127.0.0.1';

mysql>grant all privileges on *.* to root@'%' identified by "root";//给以root@ip登录的远程连接赋予权限,能够连接数据库。远程无法连接的常见问题原因。

并把远程登录用户的密码设置为root

mysql> flush privileges;

mysql>quit

3.2 mysql Windows客户端

下载客户端

http://js.newhua.com/down/files/mysql-gui-tools-5.0-r17-win32.zip

mysql官方GUI

设置用户名root 密码为root //上面刚设置好的密码

[root@localhost html]# mysql -uroot -p

Enter password:

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: No)

无法修改密码

用 service mysqld stop

mysqld_safe --skip-grant-tables &

输入 mysql -uroot -p 回车进入

>use mysq;

> update user set password=PASSWORD("newpass")where user="root"; 更改密码为 newpass

> flush privileges; 更新权限

> quit 退出

service mysqld restart 重启数据库

mysql -uroot -p 新密码进入

真晕,我也就是让这个搞了半天没有进去mysql,在这里做下记录,一是给自己一个提醒,再者如果那位朋友遇到这问题了也好解决

[root@sunxia ~]# cat /var/log/mysqld.log

100705 22:24:04 mysqld started

100705 22:24:04 [Warning] option 'max_join_size': unsigned value 18446744073709551615 adjusted to 4294967295

100705 22:24:04 [Warning] option 'max_join_size': unsigned value 18446744073709551615 adjusted to 4294967295

/usr/libexec/mysqld: Can't create/write to file '/tmp/ibTXsoen' (Errcode: 13)

100705 22:24:04 InnoDB: Error: unable to create temporary file; errno: 13

100705 22:24:04 [ERROR] Can't start server : Bind on unix socket: Permission denied

100705 22:24:04 [ERROR] Do you already have another mysqld server running on socket: /tmp/mysql.sock ?

100705 22:24:04 [ERROR] Aborting

晕死,mysql起不来,在网上找了半天资料,后来才发现Can't start server : Bind on unix socket: Permission denied这句,

Timeout error occurred trying to start MySQL Daemon.

启动 MySQL: [失败]

[root@sunxia ~]# chown -R mysql:mysql /tmp/

更改权限后起来

4.最后新建数据库用户并授权

首先要声明一下:一般情况下,修改MySQL密码,授权,是需要有mysql里的root权限的。

注:本操作是在WIN命令提示符下,phpMyAdmin同样适用。

用户:phplamp 用户数据库:phplampDB

1.新建用户。

//登录MYSQL

@>mysql -u root -p

@>密码

//创建用户

mysql> insert into mysql.user(Host,User,Password) values("localhost","phplamp",password("1234"));

//刷新系统权限表

mysql>flush privileges;

这样就创建了一个名为:phplamp 密码为:1234 的用户。

然后登录一下。

mysql>exit;

@>mysql -u phplamp -p

@>输入密码

mysql>登录成功

2.为用户授权。

//登录MYSQL(有ROOT权限)。我里我以ROOT身份登录.

@>mysql -u root -p

@>密码

//首先为用户创建一个数据库(phplampDB)

mysql>create database phplampDB;

//授权phplamp用户拥有phplamp数据库的所有权限。

>grant all privileges on phplampDB.* to phplamp@localhost identified by '1234';

//刷新系统权限表

mysql>flush privileges;

mysql>其它操作

/*

如果想指定部分权限给一用户,可以这样来写:

mysql>grant select,update on phplampDB.* to phplamp@localhost identified by '1234';

//刷新系统权限表。

mysql>flush privileges;

*/

3.删除用户。

@>mysql -u root -p

@>密码

mysql>DELETE FROM user WHERE User="phplamp" and Host="localhost";

mysql>flush privileges;

//删除用户的数据库

mysql>drop database phplampDB;

4.修改指定用户密码。

@>mysql -u root -p

@>密码

mysql>update mysql.user set password=password('新密码') where User="phplamp" and Host="localhost";

mysql>flush privileges;

cmake mysql5.5_CentOS_5.6下使用cmake编译MySQL_5.5.11相关推荐

  1. cmake 编译mysql_CentOS5.6下使用cmake编译MySQL5.5.13源码和安装

    一.准备环境 1.    安装确保以下系统相关库文件 gcc gcc-c++ autoconf automake zlib* libxml* ncurses-devel libmcrypt* libt ...

  2. Ubuntu下使用CMake编译OpenSSL源码操作步骤(C语言)

    OpenSSL的版本为1.0.1g,在ubuntu下通过CMake仅编译c代码不包括汇编代码,脚本内容如下: build.sh内容: #! /bin/bashreal_path=$(realpath ...

  3. Ubuntu下通过CMake文件编译CUDA+OpenCV代码操作步骤

    在 CUDA_Test  工程中,CUDA测试代码之前仅支持在Windows10 + VS2013编译,今天在Ubuntu 14.04下写了一个CMakeLists.txt文件,支持在Linux下也可 ...

  4. windows下使用cmake编译zlib与libpng libjpeg 留此备份

    win7下使用VS2010编译jpeglib 1.下载源代码下载地址:http://www.ijg.org/files/,     选择最新版本的windows版本压缩包,进行下载.     jpeg ...

  5. 在Windows下使用CMake+MinGW搭建C/C++编译环境

    转载自:https://blog.csdn.net/isscollege/article/details/78038921?locationNum=8&fps=1 1 工具介绍 作为一款执行效 ...

  6. Ubuntu下使用cmake结合CmakeLists.txt生成makefile文件并进行编译

    转自1:https://www.cnblogs.com/cv-pr/p/6206921.html 转自2:https://blog.csdn.net/qqwangfan/article/details ...

  7. Windows下用CMake编译JsonCpp及配置(适合新手)

    作者:翟天保Steven 版权声明:著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处 JsonCpp是什么? JSON是一种轻量级的数据交换格式.它可以表示数字.字符串.有序的值序列 ...

  8. 在ubuntu下使用cmake进行opencv的配置和Windows下进行使用cmake编译源代码比较,opencv3进行g++例子程序编译、动态库的制作

    1.首先安装的是cmake软件,使用指令: apt-get install cmake 接着查看版本,测试是否安装成功: root@emouse:/home# cmake --version cmak ...

  9. CentOS7下源码编译安装MySQL5.6.4

    CentOS7下源码编译安装MySQL5.6.4 写这篇博客的主要原因是:请看上一篇博客:CentOS7下更改MySQL5.6.4默认的数据存储位置.对,当初通过rpm安装的mysql5.6.4,一切 ...

  10. 在Ubuntu18.04下的Cmake使用记录

    (1)首先是安装cmake.命令如下: sudo apt-get install cmake (2)创建一个源程序,1.cpp如下:(1.cpp的位置是位于hoem/ysh/code) #includ ...

最新文章

  1. strtotime 获取当月最后一天的日期
  2. matlab贝塞尔滤波器设计_DSP之窗函数法设计高通滤波器(MATLAB实现)
  3. Odoo 菜单美化的扩展模块
  4. python 列表 换行_python基础语法学习——参考Python Crash Course
  5. hdu 4907(并查集)
  6. win linux 远程桌面连接,Windows 连接 Ubuntu 16.04 远程桌面
  7. 聊一聊顺序消息(RocketMQ顺序消息的实现机制)
  8. ibatis中的xml配置文件
  9. ASP.NET 2.0中实现模板中的数据绑定
  10. 对人工智能产品发展的几点认识
  11. OC无法进行多人会话
  12. xshell远程控制(连接)两个VMware同时启动的Linux操作系统
  13. register 寄存器变量
  14. 杨辉三角c语言 用队列形式,C语言杨辉三角(循环队列).doc
  15. Android adb shell执行mv等操作时,提示:Read-only file system的解决办法
  16. 服务器主板最多支持内存频率,b360主板支持内存频率多少
  17. 全球与中国制冷压缩机润滑油市场深度研究分析报告
  18. 网页性能测试工具大全
  19. python画地图柱状图_Python 如何画出漂亮的地图?
  20. 开发人员的涅槃重生路——出差

热门文章

  1. c++游戏小技巧7:system 综合
  2. Java第八天上课笔记
  3. 发布订阅/回调模型的核心技术——观察者模式复习总结
  4. 基于python语言,自动生成文章摘要(中文)
  5. 个人微信开发API,微信机器人开发
  6. 【Postman】Monitors 监测API可定时周期运行
  7. C语言数据类型的范围
  8. 使用Python制作WORD报告
  9. 数据结构C语言循环链表练习之俄罗斯轮盘赌
  10. 巨人网络总裁史玉柱简介