今天根据需求要在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的编译、安装、配置的更多相关文章
-
CentOS6.5内 MySQL5.7.19编译安装
作为博主这样的Linux菜鸟,CentOS下最喜欢的就是yum安装.但有时候因为特殊情况(例如被墙等),某些软件可能没办法直接通过yum来安装,这时候我们可以使用编译安装或者直接二进制文件安装. 本博 ...
-
centos6.5中 nginx-1.6.3 编译安装
参考来源:http://nginx.org/en/docs/configure.html nginx-1.6.3 编译安装:1) ./configure --help 查看编译选项 2) 需要安装一下 ...
-
[转帖]MySQL5.7.20编译安装
MySQL5.7.20编译安装 尝试一下 想着 我在arm上面最终安装失败了. https://www.cnblogs.com/shengdimaya/p/8027507.html 1:官网下载sou ...
-
mysql5.7.11编译安装以及修改root密码小结
系统是cenos6.7 64位的,默认mysql5.7.11下载到/usr/local/src,安装目录在/app/local/mysql目录下,mysql数据放置目录/app/local/data. ...
-
centos6.5环境Redis下载及编译安装
centos6.5环境Redis下载及编译安装 1:官方站点: http://redis.io/download 下载最新版或者最新stable版 2:解压源码并进入目录 tar -zxvf redi ...
-
mysql-5.6.17编译安装和常见问题
mysql-5.6.17编译安装和常见问题 以前用的是MySQL的5.1版本,且使用的是免编译的包,安装简单.最近换了5.6版本的MySQL,安装过程出现了不少问题. 1. 卸载原来版本的MySQL ...
-
azkaban编译安装配置文档
azkaban编译安装配置文档 参考官方文档: http://azkaban.github.io/azkaban/docs/latest/ azkaban的配置文件说明:http://azkaban. ...
-
haproxy1.7编译安装配置
#haproxy1.7编译安装配置#高可用.负载均衡 使用 #haproxy1.7编译安装配置 #centos7 x86_64 #高可用.负载均衡 使用 #下载 #http://www.haproxy ...
-
干货CentOS6.5_Nginx1.40_Php5.57_MySQL5.5.35编译安装全记录
http://www.unixdo.com/Unix_Linux/CentOS65_Nginx140_Php557_MySQL5535.html 如果是编译升级php,之前做过nginx的虚拟主机配置 ...
随机推荐
-
C++11笔记<;一>;
目录: 1.std::share_ptr智能指针: 2.std::tr1::function模板类: 3.stringstream: 4.set/vector/map: 5.static_cast&l ...
-
爱上MVC~为非法进行Action的用户提供HttpStatusCodeResult
回到目录 对一MVC来说,它有Controller和Action,其中Action用来为页面提供数据和相关逻辑,并最后将页面渲染出来,而有些action是需要一些参数的,如文章的最终页,可能需要一个I ...
-
Atiit 如何手写词法解析器
Atiit 如何手写词法解析器 1.1. 通过编程直接从正则->nfa->dfa->表驱动词法解析一条龙自动生成.那是用程序自动生成是需要这样的,自己手写完全不必要这么复杂1 1.2 ...
-
lightoj 1297(三分)
传送门:Largest Box 题意:长度为L宽度为W的纸四个角去掉x*x的正方形,然后形成一个长方体,问能组成长方体的最大体积为多少. 分析:三分x求最值. #include <cstdio& ...
-
javascript对象深拷贝,浅拷贝 ,支持数组
javascript对象深拷贝,浅拷贝 ,支持数组 经常看到讨论c#深拷贝,浅拷贝的博客,最近js写的比较多, 所以也来玩玩js的对象拷贝. 下面是*对深浅拷贝的解释: 浅拷贝 One meth ...
-
php处理IOS图片旋转
$picAddr = $url; $exif = exif_read_data($picAddr); $image = imagecreatefromjpeg($picAddr); if($exif[ ...
-
【java】this用法
this代表当前类的引用对象:哪个对象调用方法,该方法内部的this就代表那个对象this关键字主要有两三个应用: (1)this调用本类中的属性,也就是类中的成员变量: class People { ...
-
yum问题解决
错误信息1:There was a problem importing one of the Python modulesrequired to run yum. The error leading ...
-
.NET Core 跨平台 串口通讯 ,Windows/Linux 串口通讯,flyfire.CustomSerialPort 的使用
目录 1,前言 2,安装虚拟串口软件 3,新建项目,加入 flyfire.CustomSerialPort 4,flyfire.CustomSerialPort 说明 5,开始使用 flyfire.C ...
-
【图论】POJ-3255 次短路径
一.题目 Description Bessie has moved to a small farm and sometimes enjoys returning to visit one of her ...