今天根据需求要在centos6.6上编译安装mysql5.5,因为以前编译安装过感觉很简单,但是今天还是出现了点小问题,所以把过安装过程总结了一下:

好像从mysql5.5开始编译安装mysql需要用到cmake工具进行编译安装,既然是编译安装,那么肯定要用到一些依赖的类库以及相关的编译工具,所以需要事先安装相关工具。

一 、编译安装

1.安装mysql编译过程中所需要的依赖关系以及编译工具(需要先配置好yum源)

# yum -y install gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel libidn libidn-devel openssl openssl-devel bison cmake

2.使用yum安装cmake编译工具

#yum -y  install cmake

3.安装前需要检查一下是否安装mysql,如果有就卸载掉

# rpm -qa | grep mysql

4.下载mysql源码包,并解压

# tar xvf mysql-mysql-5.5.35.t15.tar

或者解压到指定目录(如:/usr/local)

# tar xvf mysql-mysql-5.5.35.t15.tar -C /usr/local

5.进入到mysql的解压目录,使用cmake编译、安装

# cd mysql-mysql-5.5.35.t15

1)使用cmake编译(根据自己的具体要求选择编译参数,下边的选项参数仅供参考)

#cmake \

-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/usr/local/mysql/data \

-DSYSCONFDIR=/etc \

-DMYSQL_UNIX_ADDR=/var/lib/mysql/mysql.sock \

-DDEFAULT_CHARSET=utf8 \

-DDEFAULT_COLLATION=utf8_general_ci

2)安装

#make && make install

稍等一会。。。

6.需要创建mysql用户和mysql组,并修改mysql安装目录的所属用户和组

1)创建mysql用户和mysql组

#groupadd mysql

#useradd -g mysql -s /sbin/nologin mysql

2)修改mysql安装目录的所属用户和组

#chown -R mysql:mysql /usr/local/mysql

7.进入mysql安装目录,执行初始化脚本,创建mysql自带的数据库和表

# cd /usr/local/mysql

# cd scripts/

#./mysql_install_db --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql

如果出现utf8_general_ci 报错,在/etc/my.cnf中 [mysqld]   character_set_server=utf8

                       [client]   default-character-set = utf8

8.修改配置文件

# vi /etc/my.cnf

9.添加服务,设置mysql服务开机自启

1)添加服务,进入mysql安装目录,拷贝目录/support-files下的mysql.server文件到/etc/init.d/目录下,并重名为mysql

#cd /usr/local/mysql

#cp support-files/mysql.server /etc/init.d/mysql

2)设置开机自启

# chkconfig mysql on

10.启动mysql服务

11.编译安装的mysql没有初始密码,所以要给root用户设置初始密码

#/usr/local/mysql/bin/mysqladmin -u root password '123456'

12.因为手动编译的,所有要为mysql添加环境变量,不然在终端中输入mysql将会提示命令找不到

1)编辑/etc/profile,在文件末尾添加如下内容

export PATH=$PATH:/usr/local/mysql/bin

如:

2)使文件立即生效

#source /etc/profile

13.现在mysql的安装配置基本完成,可以去登陆、使用

登录时如果出现:ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)错误

可以修改/etc/my.cnf

添加如下内容:

[client]

socket=/var/lib/mysql/mysql.sock

如:

14.如果希望其它远程主机访问该mysql,可以进行如下操作

mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;

或者也可以去修改mysql库中的user表,添加指定的host主机

15.由于防火墙默认没有开启3306端口,所以需要手动开启此端口

编辑/etc/sysconfig/iptables

添加如下内容

-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT

16.此时我们可以查看一下允许访问该数据库的主机、用户等信息

进入mysql库,查看user表信息

mysql>use mysql

mysql>select host,user,password from user;

可以看到我们分别设置的两个密码(本地访问mysql的root用户密码和远程访问mysql的root用户的密码)

如果需要指定某些主机可以访问该数据库,则可以修改该表,添加指定主机的ip到该表中。

17.如果要更改数据库的默认端口,则需要更改配置文件/etc/my.cnf

添加如下内容:

port:端口号

例如:

然后重启mysql服务

#service mysql restart

注意:如果此处修改了默认端口号,则防火墙允许访问的端口号也要进行更改,要与此文件中的端口号保持一致

18.如果在局域网内出现连接mysql比较慢的情况,可能是与mysql的DNS反向解析有关,可以把此功能关闭掉

修改文件/etc/my.cnf,添加如下内容:

skip-name-resolve

如:

重启mysql服务即可。

在centos6.6中mysql5.5的编译、安装、配置的更多相关文章

  1. CentOS6.5内 MySQL5.7.19编译安装

    作为博主这样的Linux菜鸟,CentOS下最喜欢的就是yum安装.但有时候因为特殊情况(例如被墙等),某些软件可能没办法直接通过yum来安装,这时候我们可以使用编译安装或者直接二进制文件安装. 本博 ...

  2. centos6.5中 nginx-1.6.3 编译安装

    参考来源:http://nginx.org/en/docs/configure.html nginx-1.6.3 编译安装:1) ./configure --help 查看编译选项 2) 需要安装一下 ...

  3. [转帖]MySQL5.7.20编译安装

    MySQL5.7.20编译安装 尝试一下 想着 我在arm上面最终安装失败了. https://www.cnblogs.com/shengdimaya/p/8027507.html 1:官网下载sou ...

  4. mysql5.7.11编译安装以及修改root密码小结

    系统是cenos6.7 64位的,默认mysql5.7.11下载到/usr/local/src,安装目录在/app/local/mysql目录下,mysql数据放置目录/app/local/data. ...

  5. centos6.5环境Redis下载及编译安装

    centos6.5环境Redis下载及编译安装 1:官方站点: http://redis.io/download 下载最新版或者最新stable版 2:解压源码并进入目录 tar -zxvf redi ...

  6. mysql-5.6.17编译安装和常见问题

    mysql-5.6.17编译安装和常见问题 以前用的是MySQL的5.1版本,且使用的是免编译的包,安装简单.最近换了5.6版本的MySQL,安装过程出现了不少问题. 1. 卸载原来版本的MySQL ...

  7. azkaban编译安装配置文档

    azkaban编译安装配置文档 参考官方文档: http://azkaban.github.io/azkaban/docs/latest/ azkaban的配置文件说明:http://azkaban. ...

  8. haproxy1.7编译安装配置

    #haproxy1.7编译安装配置#高可用.负载均衡 使用 #haproxy1.7编译安装配置 #centos7 x86_64 #高可用.负载均衡 使用 #下载 #http://www.haproxy ...

  9. 干货CentOS6.5_Nginx1.40_Php5.57_MySQL5.5.35编译安装全记录

    http://www.unixdo.com/Unix_Linux/CentOS65_Nginx140_Php557_MySQL5535.html 如果是编译升级php,之前做过nginx的虚拟主机配置 ...

随机推荐

  1. AtCoder Regular Contest 093

    AtCoder Regular Contest 093 C - Traveling Plan 题意: 给定n个点,求出删去i号点时,按顺序从起点到一号点走到n号点最后回到起点所走的路程是多少. \(n ...

  2. tomcat深入学习—权限篇

    如果想给一个应用程序配置权限,可能需要的代码量很多,但你知道吗,仅通过配置tomcat,就能有同样的效果(为一个web应用添加了权限) 效果:打开http://localhost:8080/searc ...

  3. C++ 进阶学习 ——模板

    模板和重载类似,比重载更省事 通常有两种形式:函数模板和类模板: 函数模板针对仅参数类型不同的函数: 类模板针对仅数据成员和成员函数类型不同的类. 一个简单的函数模板 template <cla ...

  4. C++中GB2312字符串和UTF-8之间的转换

    在编程过程中需要对字符串进行不同的转换,特别是Gb2312和Utf-8直接的转换.在几个开源的魔兽私服中,很多都是老外开发的,而暴雪为了能 够兼容世界上的各个字符集也使用了UTF-8.在中国使用VS( ...

  5. django model_fields_validators 前端页面编辑自定义验证

    # model_field_validators.py import re from django.core.exceptions import ValidationError from django ...

  6. Lucene快速入门

    1. 什么是lucene lucene是Apache的一个全文检索工具,使用lucene能快速实现全文检索功能.Lucene是一个工具包,你可以调用它的函数, 但它不能独立运行,不单独对外提供服务. ...

  7. C#学习历程(一)[基础概念]

    #小摘要 >> boolean和bool差不多是一个东西,但是bool是一个基本值的类型,boolean则是对象(java与javascript中有用). Bool是Boolean的别名. ...

  8. c# unicode 编码 中文转换 已测试(转)

    中文传参时因为编码不同经常凌乱风中,故传前编成unicode码来过度是一个不错的解决方法 /// <summary> /// 中文转unicode        /// </summ ...

  9. 开源一款远程控制软件 —— pcshare

    这里开放一款远程控制软件的源码--pcshare,该软件分为被控制端和控制端.部分界面如下: 控制端通过寄生在被控制端的后台程序来实现控制,可以对被控制台进行文件管理.屏幕监控.键盘监控.监控管理.查 ...

  10. 9.详解引擎(InnoDB,MyISAM)的内存优化攻略?

    整理自互联网!! 本篇我们讲解内存优化. 注意:以下都是在MySQL目录下的my.ini文件中改写. 一.InnoDB内存优化 InnoDB用一块内存区域做I/O缓存池,该缓存池不仅用来缓存InnoD ...