CentOS 6.4下编译安装MySQL 5.6.14
来源:互联网 发布:js上传身份证图片插件 编辑:程序博客网 时间:2024/06/04 08:28
CentOS 6.4下编译安装MySQL 5.6.14
概述:
CentOS 6.4下通过yum安装的MySQL是5.1版的,比较老,所以就想通过源代码安装高版本的5.6.14。
正文:
一:卸载旧版本
查看CentOS自带mysql是否已安装。
输入:yum list installed | grep mysql
若有自带安装的mysql,如何卸载CentOS系统自带mysql数据库?
yum -y remove mysql-libs.x86_64
注:若有多个依赖文件则依次卸载。
当结果显示为Complete!即卸载完毕。
查看yum库上的mysql版本信息(CentOS系统需要正常连接网络)。
yum list | grep mysql 或 yum -y list mysql*
使用下面的命令检查是否安装有MySQL Server
rpm -qa | grep mysql
有的话通过下面的命令来卸载掉
rpm -e mysql //普通删除模式
rpm -e –nodeps mysql // 强力删除模式,如果使用上面命令删除时,提示有依赖的其它文件,则用该命令可以对其进行强力删除
二:添加用户设置权限
使用下面的命令查看是否有mysql用户及用户组
cat /etc/passwd 查看用户列表
cat /etc/group 查看用户组列表
如果没有就创建
groupadd mysql
useradd -g mysql mysql
修改/usr/local/mysql权限
mkdir /usr/local/mysql
chown -R mysql:mysql /usr/local/mysql
三:安装MySQL
安装编译代码需要包(在安装前,需先安装相关的依赖库)
yum -y install make gcc-c++ cmake bison-devel ncurses-devel
- cmake:
MySQL使用cmake跨平台工具预编译源码,用于设置mysql的编译参数。如:安装目录、数据存放目录、字符编码、排序规则等。安装最新版本即可。 - make3.75:
mysql源代码是由C和C++语言编写,在Linux下使用make对源码进行编译和构建,要求必须安装make 3.75或以上版本 - gcc4.4.6:
GCC是Linux下的C语言编译工具,mysql源码编译完全由C和C++编写,要求必须安装GCC4.4.6或以上版本 - Boost1.59.0:
mysql源码中用到了C++的Boost库,要求必须安装boost1.59.0或以上版本 - bison2.1
Linux下C/C++语法分析器 - ncurses
字符终端处理库
下载Mysql5.6.14
wget http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.16.tar.gz
tar xvf mysql-5.6.14.tar.gz
cd /usr/local/mysql/mysql-5.6.14
配置mysql预编译参数
cmake \-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \-DMYSQL_DATADIR=/usr/local/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
- -DCMAKE_INSTALL_PREFIX:安装路径
- -DMYSQL_DATADIR:数据存放目录
- **DWITH_BOOST:**boost源码路径
- **-DSYSCONFDIR:**my.cnf配置文件目录
- -DEFAULT_CHARSET:数据库默认字符编码
- -DDEFAULT_COLLATION:默认排序规则
- -DENABLED_LOCAL_INFILE:允许从本文件导入数据
- -DEXTRA_CHARSETS:安装所有字符集
编译并安装
make && make install
注明:更多编译的参数可以参考(整个过程需要30分钟左右……漫长的等待MySQL5.7.13的参考)
初始化系统数据库
cd /usr/local/mysql
chown -R mysql:mysql
./bin/mysql_install_db –user=mysql –basedir=/usr/local/mysql –datadir=/usr/local/mysql/data#MySQL 5.7.6之前的版本执行这个脚本初始化系统数据库(本文使用此方式初始化)
./bin/mysqld –initialize-insecure –user=mysql –basedir=/usr/local/mysql –datadir=/usr/local/mysql/data#5.7.6之后版本初始系统数据库脚本
注:在启动MySQL服务时,会按照一定次序搜索my.cnf,先在/etc目录下找,找不到则会搜索”$basedir/my.cnf”,在本例中就是 /usr/local/mysql/my.cnf,这是新版MySQL的配置文件的默认位置!
注意:在CentOS 6.4版操作系统的最小安装完成后,在/etc目录下会存在一个my.cnf,需要将此文件更名为其他的名字,如:/etc/my.cnf.bak,否则,该文件会干扰源码安装的MySQL的正确配置,造成无法启动。
在使用"yum update"更新系统后,需要检查下/etc目录下是否会多出一个my.cnf,如果多出,将它重命名成别的。否则,MySQL将使用这个配置文件启动,可能造成无法正常启动等问题。
配置文件及参数优化
shell> cp support-files/my-default.cnf /etc/my.cnfshell> vim /etc/my.cnf[client]port=3306socket=/usr/local/mysql/mysql.sock[mysqld]character-set-server=utf8collation-server=utf8_general_ciskip-external-lockingskip-name-resolveuser=mysqlport=3306basedir=/usr/local/mysqldatadir=/usr/local/mysql/datatmpdir=/usr/local/mysql/temp# server_id = .....socket=/usr/local/mysql/mysql.socklog-error=/usr/local/mysql/logs/mysql_error.logpid-file=/usr/local/mysql/mysql.pidopen_files_limit=10240back_log=600max_connections=500max_connect_errors=6000wait_timeout=605800#open_tables=600#table_cache = 650#opened_tables = 630max_allowed_packet=32Msort_buffer_size=4Mjoin_buffer_size=4Mthread_cache_size=300query_cache_type=1query_cache_size=256Mquery_cache_limit=2Mquery_cache_min_res_unit=16ktmp_table_size=256Mmax_heap_table_size=256Mkey_buffer_size=256Mread_buffer_size=1Mread_rnd_buffer_size=16Mbulk_insert_buffer_size=64Mlower_case_table_names=1default-storage-engine=INNODBinnodb_buffer_pool_size=2Ginnodb_log_buffer_size=32Minnodb_log_file_size=128Minnodb_flush_method=O_DIRECT#####################thread_concurrency=32long_query_time=2slow-query-log=onslow-query-log-file=/usr/local/mysql/logs/mysql-slow.log[mysqldump]quickmax_allowed_packet=32M[mysqld_safe]log-error=/var/log/mysqld.logpid-file=/var/run/mysqld/mysqld.pid
配置mysql服务
shell> service mysqld start # 启动mysql服务shell> service mysqld stop # 停止mysql服务shell> service mysqld restart # 重新启动mysql服务
设置数据库密码
shell> /usr/local/mysql/bin/mysql -e "grant all privileges on *.* to root@'127.0.0.1' identified by "root" with grant option;"shell> /usr/local/mysql/bin/mysql -e "grant all privileges on *.* to root@'localhost' identified by "root" with grant option;"# 开启远程登录(将host设为%即可)/usr/local/mysql/bin/mysql -e "grant all privileges on *.* to root@'%' identified by "root" with grant option;"
配置mysql环境变量
shell> vim /etc/profileshell> export PATH=/usr/local/mysql/bin:$PATHshell> source /etc/profile
其他注意事项
如果中途编译失败了,需要删除cmake生成的预编译配置参数的缓存文件和make编译后生成的文件,再重新编译。
shell> cd /opt/mysql-servershell> rm -f CMakeCache.txtshell> make clean
问题: 遇上-bash: mysql: command not found的情况别着急,这个是因为/usr/local/bin目录下缺失mysql导致,只需要一下方法建立软链接,即可以解决:
把mysql安装目录,比如MYSQLPATH/bin/mysql,映射到/usr/local/bin目录下: # cd /usr/local/bin# ln -fs /MYSQLPATH/bin/mysql mysql
搜狐镜像下载地址:
http://mirrors.sohu.com/mysql/MySQL-5.5/
http://mirrors.sohu.com/mysql/MySQL-5.6/
http://mirrors.sohu.com/mysql/MySQL-5.7/
Mysql其他编译安装参考链接
MySQL5.7.13源码编译安装与配置
CentOS 6.4下编译安装MySQL 5.6.14
MySQL 5.6.23 Install
- CentOS 6.4下编译安装MySQL 5.6
- CentOS 6.4下编译安装MySQL 5.6.14
- CentOS 6.4下编译安装MySQL 5.6.14
- CentOS 6.4下编译安装MySQL 5.6.14
- CentOS 6.4下编译安装MySQL 5.6.14
- CentOS 6.4下编译安装MySQL 5.6.14
- CentOS 6.4下编译安装MySQL 5.6.14
- CentOS 6.4下编译安装MySQL 5.6.14
- CentOS 6.4下编译安装MySQL 5.6.14
- CentOS 6.4下编译安装MySQL 5.6.14
- CentOS 6.4下编译安装MySQL 5.6.14
- CentOS 6.4下编译安装MySQL 5.6.14
- CentOS 6.4下编译安装MySQL 5.6.14
- CentOS 6.4下编译安装MySQL 5.6.14
- CentOS 6.4下编译安装MySQL 5.6.14
- CentOS 6.4下编译安装MySQL 5.6.14
- CentOS 6.4下编译安装MySQL 5.6.14
- CentOS 6.4下编译安装MySQL 5.6.14
- 训练1-开始学习HTML标签
- spring AOP
- mathematica里的一些小技巧[1]--局部计算和生成多维列表等
- socket端口范围
- 【接上文】Ajax处理响应,连接 Web 表单
- CentOS 6.4下编译安装MySQL 5.6.14
- rot13加密解密
- 深入理解Java的接口和抽象类
- 一些小东西
- 数据库分库分表
- 汽车双面胶怎么去除
- 一些css的特性和‘坑’
- 改变状态栏的颜色
- eclipse同时启动两个tomcat