mysql-5.7.14 源码安装笔记
安装编译
下载源码
mysql-5.7.14.tar.gz
解压定义安装变量
cd /usr/local/src
mysql_version="mysql-5.7.14"
tar -zxf "${mysql_version}.tar.gz"
cd ${mysql_version}
配置
cmake \
-DCMAKE_INSTALL_PREFIX:PATH=/usr/local/services/${mysql_version} \
-DMYSQL_DATADIR:PATH=/data/${mysql_version} \
-DEXTRA_CHARSETS=all \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_READLINE=1 \
-DMYSQL_USER=mysql \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_SSL=yes
报错:
CMake Error at cmake/boost.cmake:81 (MESSAGE):
  You can download it with -DDOWNLOAD_BOOST=1 -DWITH_BOOST=<directory>
  This CMake script will look for boost in <directory>.  If it is not there,
  it will download and unpack it (in that directory) for you.
  If you are inside a firewall, you may need to use an http proxy:
  export http_proxy=http://example.com:80
Call Stack (most recent call first):
  cmake/boost.cmake:238 (COULD_NOT_FIND_BOOST)
  CMakeLists.txt:455 (INCLUDE)
解决:
mysql 依赖boost,添加编译选项:
-DDOWNLOAD_BOOST=1 \
-DWITH_BOOST=/usr/local/services/boost
备注:
- cmake 生成的临时文件是CMakeCache.txt, 需要删除掉之前配置生成的临时文件 
rm CMakeCache.txt - 重新进行配置检查,避免由于,更新系统软件包后,依然使用旧的临时文件,导致配置找不到相关的库。
 
安装
make
make install
配置启动
以下操作用户均为root
创建用户,数据库初始化
# 创建mysql运行用户
groupadd mysql
useradd -g mysql -s /sbin/nologin mysql
# 创建mysql数据目录,并授权
mkdir -p /data/${mysql_version}
chown -R mysql:mysql /usr/local/services/${mysql_version}
chown -R mysql:mysql /data/${mysql_version}
# 初始化mysql 系统数据表
# /usr/local/services/${mysql_version}/bin/mysqld \
--initialize \
--user=mysql \
--datadir=/data/${mysql_version}
2016-08-02T14:27:01.183217Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2016-08-02T14:27:01.183281Z 0 [Warning] 'NO_ZERO_DATE', 'NO_ZERO_IN_DATE' and 'ERROR_FOR_DIVISION_BY_ZERO' sql modes should be used with strict mode. They will be merged with strict mode in a future release.
2016-08-02T14:27:01.183289Z 0 [Warning] 'NO_AUTO_CREATE_USER' sql mode was not set.
2016-08-02T14:27:02.931391Z 0 [Warning] InnoDB: New log files created, LSN=45790
2016-08-02T14:27:03.297417Z 0 [Warning] InnoDB: Creating foreign key constraint system tables.
2016-08-02T14:27:03.488097Z 0 [Warning] No existing UUID has been found, so we assume that this is the first time that this server has been started. Generating a new UUID: 2e93cf2d-58bd-11e6-8ed6-94de801a0a56.
2016-08-02T14:27:03.519545Z 0 [Warning] Gtid table is not ready to be used. Table 'mysql.gtid_executed' cannot be opened.
2016-08-02T14:27:04.091878Z 0 [Warning] CA certificate ca.pem is self signed.
2016-08-02T14:27:04.223888Z 1 [Note] A temporary password is generated for root@localhost: _bfdDjzhw0ru
# 创建配置文件
mkdir -p /usr/local/services/${mysql_version}/etc/
cp /usr/local/services/${mysql_version}/support-files/my-default.cnf /usr/local/services/${mysql_version}/etc/my.cnf
/usr/local/services/${mysql_version}/bin/mysql_ssl_rsa_setup
# 设置权限
chown -R root /usr/local/services/${mysql_version}
chown -R mysql /data/${mysql_version}
注意:
- 配置文件 etc/my.cnf 需要配置完全,包括安装目录,数据存储目录,等...
 - 初始化数据库表, 
mysql-5.7.6之后发生了变更,之前是 mysql_init_db - 若使用etc/my.cnf 中的配置,则需将/etc/my.cnf 中的相关的配置项注释掉
 
启动mysql
/usr/local/services/${mysql_version}/bin/mysqld_safe --user=mysql &
注意:
无需指定--default-file=$basedir/etc/my.cnf,mysql 有默认的配置文件加载顺序
/etc/my.cnf
basedir/etc/my.cnf
连接mysql
mysql -uroot -p
注意:
若提示无法使用xx.sock,这是因为没有指定连接的sock,可配置my.cnf,指定连接的sock
[client]
socket=/data/${mysql_version}/mysql.sock
更新root密码
update mysql.user set password=password('123456') where user='root';
报错:
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
解决:
SET PASSWORD = PASSWORD('123456');
关闭mysql
/usr/local/services/${mysql_version}/bin/mysqladmin shutdown -uroot -p
设置启动项
cp support-files/mysql.server /etc/init.d/mysql.server
参考:
mysql-5.7.14 源码安装笔记的更多相关文章
- mysql 5.7.18 源码安装笔记
		
之所以贴出这样一篇笔记呢?主要是因为很久之前,源码安装MySQL的时候,碰到了太多太多的坎坷. 如果你有兴趣进行源码安装,那么请不要以这篇文章为标准,因为每个人的及其环境等其他因素还是差距比较大的. ...
 - MySQL学习之路 一 :  MySQL 5.7.19 源码安装
		
MySQL 5.7.19 源码安装 查看系统: # cat /etc/redhat-release CentOS Linux release 7.3.1611 (Core) 安装依赖包 # yum - ...
 - zabbix-3.4.14源码安装
		
此次介绍一下,zabbix的源码安装,因为zabbix的依赖很多,所以源码安装有很多依赖需要安装 首先,下载zabbix源码包 wget https://nchc.dl.sourceforge.net ...
 - LNMP架构下的nginx、mysql、php的源码安装
		
一.LNMP的介绍 LNMP就是Linux+Nginx+Mysql+Php这种网站服务架构.Linux是一类Unix计算机操作系统的统称,是目前最流行的免费操作系统,常见版本有:centos.ubun ...
 - mysql 在cento下源码安装
		
虚拟机改为网络地址转换 (NAT) service network restartping www.baidu.com rpm -qa | grep mysql 有的话通过下面的命令来卸载掉 rpm ...
 - 数据库的硬迁移和mysql 5.5.38源码安装
		
场景:一台服务器出现了故障,需要把数据库迁移到另一台服务器上,由于数据效大,直接压缩数库的数据目录(在数据库DOWN的情况下)数据库版本mysql 5.5.38安装方式:源码安装思路:在另一台服务器上 ...
 - linux应用之Lamp(apache+mysql+php)的源码安装(centos)
		
Linux+Apache+Mysql+Php源码安装 一.安装环境: 系统:Centos6.5x64 Apache: httpd-2.4.10.tar.gz Mysql: mysql-5.6.20-l ...
 - MySQL 5.6.26源码安装
		
5.6.26源码安装包:http://pan.baidu.com/s/1kUl44WRcmake安装包链接:http://pan.baidu.com/s/1c0LuwJA 操作系统版本:CentOS ...
 - mysql 5.7.11 源码安装
		
mysql5.711安装 1.安装boost包下载地址http://sourceforge.net/projects/boost/files/boost/ 2.解压boost_1_59_0.tar.g ...
 
随机推荐
- synchronized锁重入
			
package synLockIn_1; /* synchronized锁重入,当一个线程得到一个对象锁且还未释放锁时,再次请求此对象锁时可以再次得到该对象的锁 * 此例中线程1进入Service类的 ...
 - JDK&JRE&JVM
			
JDK:—Java Development kit (Java开发工具包) JRE:—Java Runtime Environment (Java运行时环境) JVM:Java Virtual Ma ...
 - ping命令
			
ping命令能够用于判断一个主机是否可达或者是否存活.它的工作原理就像潜水艇的探测原理一样.该命令通过向目标计算机发送一个数据包,请求目标计算机回送该数据包以表明自己还存活着.同时该命令还能够知道数据 ...
 - 关于js作用域链,以及闭包中的坑
			
eg:链式作用域,想在外部读取blogName的值得方法 <script>var authorName="山边小溪";function doSomething(){ ...
 - VS SETUP项目更新的问题
			
用VS建立了一个SetUp类型的项目,build以后将生成的setup文件在机器上安装,然后再rebuild,再安装新生成的setup文件,会出现如下的提示信息: Another version of ...
 - Android 之Html的解析(使用jsoup)
			
Runnable run=new Runnable() { @Override public void run() { // TODO Auto-generated method stub useri ...
 - JS原型和继承
			
//所有的函数都有一个prototype属性 function aa() { } console.info(aa.prototype); //这个prototype属性引用了一个对象,即原型,初始化时 ...
 - zookeeper集群管理配置优化总结
			
1:默认jvm没有配置Xmx.Xms等信息,可以在conf目录下创建java.env文件 export JVMFLAGS="-Xms512m -Xmx512m $JVMFLAGS" ...
 - 21.2 Partitioning Types
			
分区类型: range:根据列值得一个给定的范围 list:和range相似,除了分区被选择基于的列被匹配在一个被设定为分离的值 hash 基于列组成的表达式返回的非负值 key 相似hash ,除 ...
 - ArcEngine批量添加XY数据
			
使用ArcGIS Desktop “添加XY数据”或者“创建XY事件图层”工具 可以导入Excel坐标数据,生成临时图层并添加至ArcMap.ArcGlobe或者ArcScene中.在ArcEngin ...