Linux CentOS6.5下编译安装MySQL 5.6.16【给力详细教程】
一、编译安装MySQL前的准备工作
安装编译源码所需的工具和库
- yum install gcc gcc-c++ ncurses-devel perl
安装cmake,从http://www.cmake.org下载源码并编译安装
- wget http://www.cmake.org/files/v2.8/cmake-2.8.10.2.tar.gz
- tar -xzvf cmake-2.8.10.2.tar.gz
- cd cmake-2.8.10.2
- ./bootstrap ; make ; make install
- cd ~
二、设置MySQL用户和组
新增mysql用户组
- groupadd mysql
新增mysql用户
- useradd -r -g mysql mysql
三、新建MySQL所需要的目录
新建mysql安装目录
- mkdir -p /usr/local/mysql
新建mysql数据库数据文件目录
- mkdir -p /data/mysqldb
四、下载MySQL源码包并解压
从http://dev.mysql.com/downloads/mysql/直接下载源码,解压mysql-5.6.16.tar.gz(http://www.quseqi.com/这个网站就是用的5.6.16版本)
- wget http://www.kakapart.com/files/mysql-5.6.16.tar.gz
- tar -zxv -f mysql-5.6.16.tar.gz
- cd mysql-5.6.16
五、编译安装MySQL
从mysql5.5起,mysql源码安装开始使用cmake了,设置源码编译配置脚本。
设置编译参数
- cmake \
- -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
- -DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \
- -DDEFAULT_CHARSET=utf8 \
- -DDEFAULT_COLLATION=utf8_general_ci \
- -DWITH_INNOBASE_STORAGE_ENGINE=1 \
- -DWITH_ARCHIVE_STORAGE_ENGINE=1 \
- -DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
- -DMYSQL_DATADIR=/data/mysqldb \
- -DMYSQL_TCP_PORT=3306 \
- -DENABLE_DOWNLOADS=1
| -DCMAKE_INSTALL_PREFIX=dir_name | 设置mysql安装目录 |
| -DMYSQL_UNIX_ADDR=file_name | 设置监听套接字路径,这必须是一个绝对路径名。默认为/tmp/mysql.sock |
| -DDEFAULT_CHARSET=charset_name | 设置服务器的字符集。 缺省情况下,MySQL使用latin1的(CP1252西欧)字符集。cmake/character_sets.cmake文件包含允许的字符集名称列表。 |
| -DDEFAULT_COLLATION=collation_name | 设置服务器的排序规则。 |
| -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_PERFSCHEMA_STORAGE_ENGINE=1 |
存储引擎选项:
MyISAM,MERGE,MEMORY,和CSV引擎是默认编译到服务器中,并不需要明确地安装。 静态编译一个存储引擎到服务器,使用-DWITH_engine_STORAGE_ENGINE= 1 可用的存储引擎值有:ARCHIVE, BLACKHOLE, EXAMPLE, FEDERATED, INNOBASE (InnoDB), |
| -DMYSQL_DATADIR=dir_name | 设置mysql数据库文件目录 |
| -DMYSQL_TCP_PORT=port_num | 设置mysql服务器监听端口,默认为3306 |
| -DENABLE_DOWNLOADS=bool | 是否要下载可选的文件。例如,启用此选项(设置为1),cmake将下载谷歌所使用的测试套件运行单元测试。 |
注:重新运行配置,需要删除CMakeCache.txt文件
- rm CMakeCache.txt
编译源码
- make
安装
- make install
六、修改mysql目录所有者和组
修改mysql安装目录
- cd /usr/local/mysql
- chown -R mysql:mysql .
修改mysql数据库文件目录
- cd /data/mysqldb
- chown -R mysql:mysql .
七、初始化mysql数据库
- cd /usr/local/mysql
- scripts/mysql_install_db --user=mysql --datadir=/data/mysqldb
八、复制mysql服务启动配置文件
- cp /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf
注:如果/etc/my.cnf文件存在,则覆盖。
九、复制mysql服务启动脚本及加入PATH路径
- cp support-files/mysql.server /etc/init.d/mysqld
- vim /etc/profile
- PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH
- export PATH
- source /etc/profile
十、启动mysql服务并加入开机自启动(可选这个步骤,以后可以自己启动的)
service mysqld start
chkconfig --level 35 mysqld on
十一、检查mysql服务是否启动
- netstat -tulnp | grep 3306
- mysql -u root -p
密码为空,如果能登陆上,则安装成功。
十二、修改MySQL用户root的密码
- mysqladmin -u root password '123456'
注:也可运行安全设置脚本,修改MySQL用户root的密码,同时可禁止root远程连接,移除test数据库和匿名用户。
- /usr/local/mysql/bin/mysql_secure_installation
十三、可能会出现的错误
- 问题:
- Starting MySQL..The server quit without updating PID file ([FAILED]/mysql/Server03.mylinux.com.pid).
- 解决:
- 修改/etc/my.cnf 中datadir,指向正确的mysql数据库文件目录
- 问题:
- ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
- 解决:
- 新建一个链接或在mysql中加入-S参数,直接指出mysql.sock位置。
- ln -s /usr/local/mysql/data/mysql.sock /tmp/mysql.sock
- /usr/local/mysql/bin/mysql -u root -S /usr/local/mysql/data/mysql.sock
- MySQL问题解决:-bash:mysql:command not found
- 因为mysql命令的路径在/usr/local/mysql/bin下面,所以你直接使用mysql命令时,
- 系统在/usr/bin下面查此命令,所以找不到了
- 解决办法是:
- ln -s /usr/local/mysql/bin/mysql /usr/bin 做个链接即可
Linux CentOS6.5下编译安装MySQL 5.6.16【给力详细教程】的更多相关文章
- Linux CentOS6.5下编译安装MySQL 5.6
检查:卸载掉原有MySql 因为mysql数据库在Linux上实在是太流行了,所以目前下载的主流Linux系统版本基本上都集成了mysql数据库在里面,我们可以通过如下命令来查看我们的操作系统上是否已 ...
- Linux(CentOS6.5)下编译安装MySQL Community Server 5.7.12
组件 官方网站 直接下载地址 备注 mysql http://dev.mysql.com/downloads/mysql/ http://mirrors.sohu.com/mysql/MySQL- ...
- Linux(CentOS6.5)下编译安装PHP5.6.22时报错”configure: error: ZLIB extension requires gzgets in zlib”的解决方式(确定已经编译安装Zlib,并已经指定Zlib路径)
本文地址http://comexchan.cnblogs.com/,作者Comex Chan,尊重知识产权,转载请注明出处,谢谢! 今天在CentOS6.5下编译安装PHP时,一直报错 confi ...
- Linux(CentOS6.5)下编译安装Nginx官方最新稳定版(nginx-1.10.0)
注:此文已经更新为新版:http://comexchan.cnblogs.com/p/5815753.html ,请直接查看新版,谢谢! 本文地址http://comexchan.cnblogs.co ...
- Centos6.5下编译安装mysql 5.6
一:卸载旧版本 使用下面的命令检查是否安装有MySQL Server rpm -qa | grep mysql 有的话通过下面的命令来卸载掉 rpm -e mysql //普通删除模式 rpm -e ...
- CentOS 6.4下编译安装MySQL 5.6.16
一.卸载旧版本号MySql 1.rpm卸载: 1> 检查安装包: rpm -qa | grep mysql 2> 普通删除: rpm -e mysql-5.6.16.rpm 3> 强 ...
- linux/centos6.5下编译安装python2.7和python3.5.2
centos6.5环境下安装python2.7 解压python源码包 tar -xf Python-2.7.6.tar.xz 进入软件包目录 cd Python-2.7.6 添加配置项 ./conf ...
- Linux(CentOS6.5)下编译安装Nginx1.10.1
首先在特权账号(root)下安装编译时依赖项: yum install gcc gcc-c++ perl -y 首先以非特权账号(本文以账号comex为例)登陆OS: 进入data目录下载相关安装 ...
- CentOS6.5_64bit下编译安装MySQL-5.6.23
转载请注明出处:http://blog.csdn.net/guoyjoe/article/details/44785511 ************************************** ...
随机推荐
- 迅为iTOP-4412嵌入式开发板实现中断驱动例程
本文转自迅为:www.topeetboard.com 大家好,今天我们来学习一下 linux 中断处理驱动的编写,本节我们实现的功能是通过开发板上的按键来控制 led 发光二极管,在之前的章节我们学习 ...
- 边工作边刷题:70天一遍leetcode: day 84
Flatten 2D Vector 要点: 这题是2d的iterator,一般对于1d的情况,hasNext()是不需要做移动的.而2d不同,core iterator是j向的,而i向要在hasNex ...
- Ngrok远程桌面及ssh配置
上一篇Ngrok 内网穿透利器 使用教程我们讲到Ngrok的基本使用教程,这篇描述一下Ngrok的远程桌面及ssh配置 Step 1 修改配置文件ngrok.cfg server_addr: &quo ...
- ssm中使用hibernate-validator验证BO
目前比较流行的验证做法:前端jquery-form-validate + 后端hibernate-validate 在pom中添加相关jar: <!-- use hibernate-valida ...
- Android系列之Fragment(二)----Fragment的生命周期和返回栈
[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/ ...
- QC学习三:Excel数据导入导出QC操作流程
环境: QC9 WindowsXP Office2007 1. 准备 1.通过Excel导入QC,需要下载Microsoft Excel Add-in: http://update.externa ...
- [Usaco2008 Nov]mixup2 混乱的奶牛 简单状压DP
1231: [Usaco2008 Nov]mixup2 混乱的奶牛 Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 685 Solved: 383[S ...
- 【.NET进阶】函数调用--函数栈
原文:http://www.cnblogs.com/rain-lei/p/3622057.html 函数调用大家都不陌生,调用者向被调用者传递一些参数,然后执行被调用者的代码,最后被调用者向调用者返回 ...
- sqlSQL2008如何创建定时作业(代理服务)(转)
SQL2008如何创建定时作业?此方法也适应于Sql Server2005数据库,有兴趣的可以来看下! 1.打开[SQL Server Management Studio],在[对象资源管理器]列表中 ...
- google的glog的用法:
验证宏: 功能类似assert断言,但不受DEBUG模式控制即非DEBUG模式也生效 如果验证失败,会写FATAL日志并终止程序运行 CHECK(condition) 比较验证: CHECK_EQ(a ...