源码编译安装MySQL-5.6/mysql-5.6.39------踩了无数坑,重装了十几次服务器才会的,不容易啊!
1.切换到src目录
cd /usr/local/src/
2. 下载mysql免编译二进制包
免编译的mysql二进制包5.6源码包:
wget http://mirrors.163.com/mysql/Downloads/MySQL-5.6/mysql-5.6.39-linux-glibc2.12-x86_64.tar.gz
(https://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.43-linux-glibc2.12-x86_64.tar.gz --最新地址)
(http://mirrors.sohu.com/mysql/MySQL-5.6/mysql-5.6.39-linux-glibc2.12-x86_64.tar.gz)
tar -zxvf mysql-5.6.39-linux-glibc2.12-x86_64.tar.gz
3. 把 mysql-5.6.39-linux-glibc2.12-x86_64.tar.gz目录下所有文件 移到 /usr/local/mysql 位置
mv mysql-5.6.39-linux-glibc2.12-x86_64/* /usr/local/mysql

4.建立MySql用户,因为启动MySQL需要改用户
useradd -s /sbin/nologin mysql
cd /usr/local/mysql
5.创建datadir,数据库文件会放到这里面
mkdir -p /data/mysql
6. 更改权限,不更改后续操作就会出问题
chown -R mysql:mysql /data/mysql
7. yum install libaio* -y
二进制安装mysql初始化出现:Installing MySQL system tables.../usr/local/mysql/bin/mysqld: error while loading shared
原因:缺少libaio库文件
解决方法:yum install libaio* -y
8. yum -y install numactl
bin/mysqld: error while loading shared libraries: libnuma.so.1: 安装mysql
如果安装mysql出现了以上的报错信息.这是却少numactl这个时候如果是Centos就yum -y install numactl就可以解决这个问题了.
ubuntu的就sudo apt-get install numactl就可以解决这个问题了
9. 编译安装
yum install -y perl-Module-Install
./scripts/mysql_install_db --user=mysql --datadir=/data/mysql
如果在/data/mysql目录下生成几个文件和目录,说明执行成功;或者在执行完成最后一条命令后,马上执行echo $? 看输出结果是否为0
10. 首先赋值配置文件,如下所示:
cp support-files/my-default.cnf /etc/my.cnf
cp:是否覆盖"/etc/my.cnf"? y
因为是系统默认就有/etc/my.cnf,所以会提示是否覆盖,直接按"y"即可,
11. 修改配置文件 ,如下所示:
vim /etc/my.cnf
---------------------------------------------------------------------------------------------------------------------------------------------
[mysqld]
# Remove leading # and set to the amount of RAM for the most important data
# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
#innodb_buffer_pool_size = 128M
# Remove leading # to turn on a very important data integrity option: logging
# changes to the binary log between backups.
#log_bin =
log_bin = /data/mysql/error.log
pid-file=/data/mysql/pid_file.pid
# These are commonly set, remove the # and set as required.
basedir = /usr/local/mysql
datadir = /data/mysql
port = 3306
server_id = 128
socket = /tmp/mysql.sock
key_buffer=16K
table_open_cache=4
query_cache_limit=256K
query_cache_size=4M
max_allowed_packet=1M
sort_buffer_size=64K
read_buffer_size=256K
thread_stack=64K
innodb_buffer_pool_size = 56M
# Remove leading # to set options mainly useful for reporting servers.
# The server defaults are faster for transactions and fast SELECTs.
# Adjust sizes as needed, experiment to find the optimal values.
join_buffer_size = 128M
sort_buffer_size = 2M
read_rnd_buffer_size = 2M
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
---------------------------------------------------------------------------------------------------------------------

12. 然后复制启动脚本文件并修改其属性
cp support-files/mysql.server /etc/init.d/mysqld
chmod 755 /etc/init.d/mysqld
13. 修改启动脚本 (这步废除)
vim /etc/init.d/mysqld
需要修改的地方有 datadir=/data/mysql

14. 把启动脚本加入系统服务项,设定开机并启动mysql
a . 把mysqld服务加入到系统服务列表中,
chkconfig --add mysqld
b .使其开机就启动
chkconfig mysqld on
c .启动服务
service mysqld start

看见success,说明mysql已经启动成功了
15. 看看有没有监听3306端口
netstat -lnp|grep 3306

16.进入mysql
/usr/local/mysql/bin/mysql -uroot -p
show databases;

17. Linux下修改Mysql的用户(root)的密码 (第一次进入不需要密码,直接mysql -uroot -p 进来该密码)
通过登录mysql系统,
# mysql -uroot -p
Enter password: 【输入原来的密码】 (下面的passedorD("test")表示数据库密码)
mysql>use mysql;
mysql> update user set password=passworD("test") where user='root';
# 远程登录密码 (下面的test表示数据库密码)
mysql>GRANT ALL ON *.* to root@'%' IDENTIFIED BY 'test';
mysql> flush privileges;
mysql> exit;
--------------------------------------------下面是mysql二进制源码包下载地址------------------------------------------------------------------------------------
下载地址: https://dev.mysql.com/downloads/mysql/5.6.html#downloads


--------------------------------------问题一--------------------------------------------------------------
出现如下问题,在/data/mysql 下创建个 VM_0_3_centos.pid 1: (touch VM_0_3_centos.pid)


2 然后去 apache 下重启apache 之后 /data/mysql/ 下的VM_0_3_centos.pid用户名,用户组,改变了,重启msyql,创建VM_0_3_centos.pid就不会消失,死活创建不了
cd /usr/local/apache/bin/
./apachectl start


源码编译安装MySQL-5.6/mysql-5.6.39------踩了无数坑,重装了十几次服务器才会的,不容易啊!的更多相关文章
- 烂泥:mysql5.5数据库cmake源码编译安装
本文由秀依林枫提供友情赞助,首发于烂泥行天下. 以前也写过一篇有关mysql5.0源码编译的文章,该文章为<烂泥:mysql5.0数据库源码编译安装>.但是MySQL自5.5版本以后,就开 ...
- 源码编译安装 MySQL 5.5.x 实践
1.安装cmakeMySQL从5.5版本开始,通过./configure进行编译配置方式已经被取消,取而代之的是cmake工具.因此,我们首先要在系统中源码编译安装cmake工具. # wget ht ...
- 总结源码编译安装mysql
最近在学习源码编译安装LAMP.LNMP时,一直遇到一个难题,就是就是mysql无论怎么源码编译安装,到最后启动服务都提示"Starting MySQL.The server quit wi ...
- 源码编译安装 MySQL 5.5.x 实践(转)
1.安装cmakeMySQL从5.5版本开始,通过./configure进行编译配置方式已经被取消,取而代之的是cmake工具.因此,我们首先要在系统中源码编译安装cmake工具. # wget ht ...
- Mysql源码编译安装&主从复制
一)camke源码编译安装mysql 1)创建软件安装目录software [root@master software]# ls cmake-2.8.8.tar.gz mysql-5.5.32.tar ...
- MySQL 源码编译安装
脚本须知: 1. 该脚本目前只测试过mysql版本为5.6.x的源码,其他源码可以对本脚本稍作修改即可 2. 本脚本也可以使用wget mysql源码的方式进行,但考虑到后期提供源码的地址不可用,所以 ...
- CentOS源码编译安装MySQL 5.5.15
CentOS源码编译安装MySQL 5.5.15 文章目录 [隐藏] 安装编译工具 下载源码 安装cmake和bison 编译安装MySQL 一些相关设置 安装编译工具 yum install g ...
- Dubbo入门到精通学习笔记(十九):MySQL源码编译安装、MySQL主从复制的配置
文章目录 MySQL 源码编译安装(CentOS-6.6+MySQL-5.6) 一.服务器配置: 二.源码安装 MySQL5.6.26: MySQL主从复制的配置 环境 依赖课程 MySQL 主从复制 ...
- CentOS 6.6 下源码编译安装MySQL 5.7.5
版权声明:转自:http://www.linuxidc.com/Linux/2015-08/121667.htm 说明:CentOS 6.6 下源码编译安装MySQL 5.7.5 1. 安装相关工具# ...
- Shell脚本一键部署——源码编译安装MySQL及自动补全工具
Shell脚本一键部署--源码编译安装MySQL及自动补全工具 编译安装MySQL 1.软件包 Mysql安装包 将安装包拖至/opt目录下,编辑一个脚本文件,将以下内容复制进去,然后source或者 ...
随机推荐
- 和大于S的最小子数组 · Minimum Size Subarray Sum
[抄题]: 给定一个由 n 个正整数组成的数组和一个正整数 s ,请找出该数组中满足其和 ≥ s 的最小长度子数组.如果无解,则返回 -1. 给定数组 [2,3,1,2,4,3] 和 s = 7, 子 ...
- 282 expression and operations添加运算符
[抄题]: 给定一个仅包含数字 0 - 9 的字符串和一个目标值,返回在数字之间添加了 二元 运算符(不是一元)+, - 或 * 之后所有能得到目标值的情况. "123", 6 - ...
- 8-linux 安装 requests 时 pip install 安装不了
安装提示更新:但是必须要sudo才行: sudo pip install --upgrade pip 安装 requests时有报错:这样写可以: sudo python -m pip install ...
- AlexNet 2012
AlexNet Alexnet是一年一度的ImageNet大型视觉识别挑战赛(ILSVRC)2012年冠军,ILSVRC使用ImageNet的一个子集,分为1000种类别,每种 ...
- MyEclipse文件查找技巧
只为成功找方法,不为失败找借口! MyEclipse使用总结——MyEclipse文件查找技巧 一.查找文件 使用快捷键[ctrl+shift+R]弹出弹出文件查找框,如下图所示: 二.查找包含某个字 ...
- LAMP环境配置踩坑2外网无法访问
理论上我们配置LAMP环境的时候都会对httpd.config进行更改 vi /etc/httpd/conf/httpd.conf 把override node改成override all 并且开启8 ...
- Appium 之处理首次启动手机App时的系统权限弹框
一般首次启动一个手机App时都会有系统权限弹框,如下图所示: 权限弹窗上面的按钮都是固定的,只需要定位到“ALLOW”按钮,点击就可以了,代码如下: 这里主要用selenium里面的显示等待模块(We ...
- ZOJ3775 ?(>_o)! 2017-04-13 23:37 110人阅读 评论(0) 收藏
?(>_o)! Time Limit: 2 Seconds Memory Limit: 65536 KB ?(>_o)! is a pseudo-object-oriented ...
- struts2+websocket报错:failed: Error during WebSocket handshake: Unexpected response code:404
最近把websocket集成进项目里面来,打开网页总是会遇到这样的错误. 网上说的原因有3种,但是都不适合我,但是也记录下. 1.struts2截拦掉了ws的请求.这种援用可以尝试把web.xml清空 ...
- [label][javascript-Unit Test][JSLint]A Guide To JSLint Messages
原文链接: http://www.jameswiseman.com/blog/2011/03/26/coding-convention-an-style-guide/ http://www.james ...
