CentOS 6.4下编译安装MySQL 5.6.16
一、卸载旧版本号MySql
1、rpm卸载:
1> 检查安装包:
rpm -qa | grep mysql
2> 普通删除:
rpm -e mysql-5.6.16.rpm
3> 强力删除。假设使用上面命令删除时。提示有依赖的其它文件,则使用该命令能够对其进行强力删除。
rpm -e --nodeps mysql-5.6.16.rpm
2、tar卸载:
1> 删除暂时文件:
make clean
2> 卸载
make uninstall
3> 删除解压文件
rm -rf 目录
3、yum卸载:
1> 卸载一个软件:
yum remove package_name
2> 卸载多个:
yum remove package_name1 package_name2 package_name3
二、安装MySql
1、安装编译器gcc-c++:
yum -y install make gcc-c++ cmake bison-devel ncurses-devel
2、下载并解压:
1> 下载tar安装包:
wget http://cdn.mysql.com/Downloads/MySQL-5.6/mysql-5.6.16.tar.gz
2> 解压安装包:
tar -xzvf mysql-5.6.16.tar.gz
3> 给解压文件重命名:
mv mysql-5.6.16 mysql
3、编译安装:
1、进入安装文件夹:
cd mysql
2、配置參数:
cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/home/mysql/data \
-DSYSCONFDIR=/etc
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_MEMORY_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DMYSQL_UNIX_ADDR=/var/lib/mysql/mysql.sock \
-DMYSQL_TCP_PORT=3306 \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DEXTRA_CHARSETS=all \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci
3> 编译安装:
make && make install
编译的參数能够參考http://dev.mysql.com/doc/refman/5.5/en/source-configuration-options.html。
整个过程须要30分钟左右……漫长的等待
三、配置MySql:
1、设置权限:
1> 使用以下的命令查看是否有mysql用户及用户组:
cat /etc/passwd 查看用户列表
cat /etc/group 查看用户组列表
2> 假设没有就创建:
groupadd mysql
useradd -g mysql mysql
3> 改动/usr/local/mysql权限:
chown -R mysql:mysql /usr/local/mysql
2、初始化配置:
1> 进入安装路径
cd /usr/local/mysql
2、进入安装路径,运行初始化配置脚本,创建系统自带的数据库和表:
scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/home/mysql/data --user=mysql
注:在启动MySQL服务时。会依照一定次序搜索my.cnf,先在/etc文件夹下找,找不到则会搜索"$basedir/my.cnf"。在本例中就是 /usr/local/mysql/my.cnf,这是新版MySQL的配置文件的默认位置!
注意:在CentOS 6.4版操作系统的最小安装完毕后,在/etc文件夹下会存在一个my.cnf,须要将此文件更名为其它的名字,如:/etc/my.cnf.bak,否则,该文件会干扰源代码安装的MySQL的正确配置。造成无法启动。
注意:有时会因没有运行权限而无法运行,须要改动一下权限。
3、启动MySQL:
1> 加入服务。拷贝服务脚本到init.d文件夹。并设置开机启动并生效(能够不设置)
cp support-files/mysql.server /etc/init.d/mysql
chkconfig mysql on
2> 启动MySql:
service mysql start --启动MySQL
4、配置用户
MySQL启动成功后。root默认没有password,我们须要设置rootpassword。
设置之前,我们须要先设置PATH,要不不能直接调用mysql
1> 改动/etc/profile文件,在文件末尾加入
PATH=/usr/local/mysql/bin:$PATH
export PATH
2> 使环境变量配置文件马上生效:
source /etc/profile
3> 在终端内直接输入mysql进入mysql的环境,运行以下的命令改动rootpassword:
mysql -uroot
mysql> SET PASSWORD = PASSWORD('123456');
4> 若要设置root用户能够远程訪问,运行
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'172.16.%' IDENTIFIED BY 'password'
WITH GRANT OPTION;
红色的password为远程訪问时。root用户的密码,能够和本地不同。
5、配置防火墙:(假设不使用防火墙,这一步能够不用)
1> 防火墙的3306port默认没有开启。若要远程訪问。须要开启这个port
打开/etc/sysconfig/iptables
在“-A INPUT –m state --state NEW –m tcp –p –dport 22 –j ACCEPT”。下加入:
-A INPUT m state --state NEW m tcp p dport 3306 j ACCEPT
2> 然后保存,并关闭该文件,在终端内执行以下的命令。刷新防火墙配置:
service iptables restart
OK!
CentOS 6.4下编译安装MySQL 5.6.16的更多相关文章
- Linux CentOS6.5下编译安装MySQL 5.6.16【给力详细教程】
一.编译安装MySQL前的准备工作 安装编译源码所需的工具和库 yum install gcc gcc-c++ ncurses-devel perl 安装cmake,从http://www.cmake ...
- CentOS 6.4下编译安装MySQL 5.6.14
概述: CentOS 6.4下通过yum安装的MySQL是5.1版的,比较老,所以就想通过源代码安装高版本的5.6.14. 正文: 一:卸载旧版本 使用下面的命令检查是否安装有MySQL Server ...
- CentOS 6.4下编译安装MySQL 5.6.14 (转)
CentOS 6.4下通过yum安装的MySQL是5.1版的,比较老,所以就想通过源代码安装高版本的5.6.14. 正文: 一:卸载旧版本 使用下面的命令检查是否安装有MySQL Server rpm ...
- 0622 CentOS 6.4下编译安装MySQL 5.6.14
转自http://www.cnblogs.com/xiongpq/p/3384681.html 概述: CentOS 6.4下通过yum安装的MySQL是5.1版的,比较老,所以就想通过源代码安装高版 ...
- CentOS 下编译安装MySQL
CnetOS 下编译安装 MySql 查看是否存在旧版本: rpm -qa | grep mysql 卸载旧版本: rpm -e mysql #普通删除模式 rpm -e --nodeps mys ...
- 不要着急改代码,先想想--centos 6.8下编译安装tmux
诸位读者新年好,2017开年第一篇博客,请允许我先问候一下看到这篇博客的诸位.写博客是我2017年定下的目标之一,希望我会坚持下去. 最近打算尝试一下tmux这个神器,于是有了这一篇关于思维方式的Bl ...
- CentOS Linux下编译安装MySQL
本文参考张宴的Nginx 0.8.x + PHP 5.2.13(FastCGI)搭建胜过Apache十倍的Web服务器(第6版)[原创]完成.所有操作命令都在CentOS 6.4 64位操作系统下实践 ...
- CentOS下编译安装MySQL 5.6.21
一.编译安装MySQL前的准备工作 安装编译源码所需的工具和库 yum install gcc gcc-c++ ncurses-devel perl 安装cmake:http://www.cnblog ...
- Linux下编译安装MySQL
一.环境准备yum install -y ncurses-devel libaio-develyum install -y cmake makeuseradd -s /sbin/nologin -M ...
随机推荐
- Python多线程下的_strptime问题
Python多线程下的_strptime问题 由于Python的datetime和time中的_strptime方法不支持多线程,运行时会报错: import datetimeimport threa ...
- SQL 多个表之间联合查询
非常少用join,这次学学,并备忘两篇文章! 转自:http://hcx-2008.javaeye.com/blog/285661 连接查询 通过连接运算符能够实现多个表查询.连接是关系数据库模型的主 ...
- android的四种加载模式
在Android中每个界面都是一个Activity,切换界面操作其实是多个不同Activity之间的实例化操作.在Android中Activity的启动模式决定了Activity的启动运行方式. An ...
- Eclipse用法和技巧二十七:定义自己的快速联想词
某天在调试代码的时候,虽然是android的project还是习惯的输入syso,然后在ALT+/一下.旁边的同事就问了一下,这个log打印输出的tag是什么.接着又问了为什么syso能够智能联想出这 ...
- perl 使用SUPER类来访问覆盖的方法
有时候,你希望一个衍生类的方法表现得象基类中的某些方法的封装器 这就是 SUPER 伪类提供便利的地方.它令你能够调用一个覆盖了的基类方法,而不用声明 是哪个类定义了该方 法.(注:不要把这个和第十一 ...
- (step 8.2.8)hdu 1079(Calendar Game)
题目大意是: 两个家伙在区域赛前夕闲的无聊,然后玩一种无限纠结的游戏,随即给定一个日期,每次只能移动day OR month.......... 而且如果下一个月没有当前day的话, 你就不能移动mo ...
- hdu3999The order of a Tree (二叉平衡树(AVL))
Problem Description As we know,the shape of a binary search tree is greatly related to the order of ...
- 【Android】自己定义控件——仿天猫Indicator
今天来说说类似天猫的Banner中的小圆点是怎么做的(图中绿圈部分) 在学习自己定义控件之前,我用的是很二的方法,直接在布局中放入多个ImageView,然后代码中依据Pager切换来改变图片.这样的 ...
- linux命令:echo
echo $SHELL ----> /usr/bin/tcsh echo $ARBORDIR ----> /export/home/arbsfr/SFR_ENTREPRISE/SFRE3
- Delphi反射
最近在写一个框架,需要用到反射,与C# java这些原生支持反射的语言不同,delphi对反射的支持相对要弱一些,但也够用了,其实C#的大部分的思想还是从 delphi而来,毕竟都是安德鲁斯的杰作. ...