mysql-5.7.25 源码 安装

编译

export INSTALL_PREFIX="/data/services"
export MYSQL_INSTALL_PATH="${INSTALL_PREFIX}/mysql-5.7.25" tar -zxf mysql-5.7.25.tar.gz
cd mysql-5.7.25
mkdir compile_dir // 避免污染源码
cd compile_dir cmake .. \
-DCMAKE_INSTALL_PREFIX:PATH=${MYSQL_INSTALL_PATH} \
-DSYSCONFDIR=${MYSQL_INSTALL_PATH}/etc \
-DMYSQLX_UNIX_ADDR=${MYSQL_INSTALL_PATH}/tmp/mysqlx.sock \
-DMYSQL_UNIX_ADDR=${MYSQL_INSTALL_PATH}/tmp/mysql.sock \
-DSYSTEMD_PID_DIR=${MYSQL_INSTALL_PATH}/var/run/mysqld \
-DEXTRA_CHARSETS=all \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_SSL=yes \
-DFEATURE_SET=community \
-DCOMPILATION_COMMENT="MySQL Server (GPL)" \
-DWITH_DEBUG=OFF \
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DENABLE_DTRACE=OFF \
-DWITH_BOOST=${INSTALL_PREFIX}/boost_1_59_0

另外一些配置项

-DBUILD_CONFIG=mysql_release \
-DINSTALL_LAYOUT=STANDALONE \
-DWITH_EMBEDDED_SERVER=OFF \
-DWITH_INNODB_MEMCACHED=ON \
-DWITH_ZLIB=system \
-DWITH_PAM=ON \
-DINSTALL_PLUGINDIR="/var/mysql/lib/plugin" \
-DWITH_EDITLINE=bundled \

配置

以下操作都是 root 身份

groupadd mysql
useradd -g mysql -s /sbin/nologin mysql mkdir -p /data/services/mysql-5.7.25/etc
mkdir -p /data/services/mysql-5.7.25/tmp
mkdir -p /data/services/mysql-5.7.25/data touch /data/services/mysql-5.7.25/etc/my.cnf
touch /data/services/mysql-5.7.25/etc/mysql.log chown -R mysql:mysql /data/services/mysql-5.7.25/

修改 my.cnf

[mysqld]
basedir = /data/services/mysql-5.7.25
datadir = /data/services/mysql-5.7.25/data
bind-address = 10.0.0.2
port = 3306
user = mysql
#server_id = 92
socket = /data/services/mysql-5.7.25/tmp/mysql.sock [mysqld_safe]
log-error = /data/services/mysql-5.7.25/tmp/mysql.log
pid-file = /data/services/mysql-5.7.25/tmp/mysql.pid

初始化

./bin/mysqld --initialize --user=mysql

2019-04-03T06:46:37.665900Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2019-04-03T06:46:38.075279Z 0 [Warning] InnoDB: New log files created, LSN=45790
2019-04-03T06:46:38.134274Z 0 [Warning] InnoDB: Creating foreign key constraint system tables.
2019-04-03T06:46:38.190177Z 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: 3af65f7b-55dc-11e9-adb0-b496913174e8.
2019-04-03T06:46:38.190498Z 0 [Warning] Gtid table is not ready to be used. Table 'mysql.gtid_executed' cannot be opened.
2019-04-03T06:46:38.646217Z 0 [Warning] CA certificate ca.pem is self signed.
2019-04-03T06:46:38.690755Z 1 [Note] A temporary password is generated for root@localhost: axb2A2gj8Edf

启动

cp ./support-files/mysql.server /etc/init.d/mysqld
chmod +x /etc/init.d/mysqld 修改 vi /etc/init.d/mysqld basedir=xxx
datadir=xxx chkconfig mysqld on
service mysqld start

连接 & 修改密码

./bin/mysql -uroot -p

alter user 'root'@'localhost' identified by 'root123';

注意

5.7 开始初始化密码,有密码强度校验,validate_password_policy 有以下取值:

默认是1,即MEDIUM,所以刚开始设置的密码必须符合长度,且必须含有数字,小写或大写字母,特殊字符。

有时候,只是为了自己测试,不想密码设置得那么复杂,譬如说,我只想设置root的密码为123456。

必须修改两个全局参数:

set global validate_password_policy=0;
set global validate_password_length=1;

mysql-5.7.25 源码 安装的更多相关文章

  1. MySQL学习之路 一 : MySQL 5.7.19 源码安装

    MySQL 5.7.19 源码安装 查看系统: # cat /etc/redhat-release CentOS Linux release 7.3.1611 (Core) 安装依赖包 # yum - ...

  2. mysql 在cento下源码安装

    虚拟机改为网络地址转换 (NAT) service network restartping www.baidu.com rpm -qa | grep mysql 有的话通过下面的命令来卸载掉 rpm ...

  3. 数据库的硬迁移和mysql 5.5.38源码安装

    场景:一台服务器出现了故障,需要把数据库迁移到另一台服务器上,由于数据效大,直接压缩数库的数据目录(在数据库DOWN的情况下)数据库版本mysql 5.5.38安装方式:源码安装思路:在另一台服务器上 ...

  4. LNMP架构下的nginx、mysql、php的源码安装

    一.LNMP的介绍 LNMP就是Linux+Nginx+Mysql+Php这种网站服务架构.Linux是一类Unix计算机操作系统的统称,是目前最流行的免费操作系统,常见版本有:centos.ubun ...

  5. mysql 5.7.18 源码安装笔记

    之所以贴出这样一篇笔记呢?主要是因为很久之前,源码安装MySQL的时候,碰到了太多太多的坎坷. 如果你有兴趣进行源码安装,那么请不要以这篇文章为标准,因为每个人的及其环境等其他因素还是差距比较大的. ...

  6. 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 ...

  7. MySQL 5.6.26源码安装

    5.6.26源码安装包:http://pan.baidu.com/s/1kUl44WRcmake安装包链接:http://pan.baidu.com/s/1c0LuwJA 操作系统版本:CentOS ...

  8. mysql 5.7.11 源码安装

    mysql5.711安装 1.安装boost包下载地址http://sourceforge.net/projects/boost/files/boost/ 2.解压boost_1_59_0.tar.g ...

  9. mysql++ 3.2.3 源码安装

    https://tangentsoft.com/mysqlpp/home 下载 wget https://tangentsoft.com/mysqlpp/releases/mysql++-3.2.3. ...

随机推荐

  1. cmd下,regsvr32不是内部或外部命令

    https://jingyan.baidu.com/article/48b37f8d2fb1aa1a646488cc.html

  2. Log.isLoggable之一正确的使用姿势

    DEBUG方法比较当我们在做APP开发时,需要设置调试开关打印Log,下面我列举出3种方法: 方法一:直接赋值public static final boolean DEBUG = true;//fa ...

  3. php获取两个时间戳之间相隔多少天多少小时多少分多少秒

    /** * 返回两个时间的相距时间,*年*月*日*时*分*秒 * @param int $one_time 时间一 * @param int $two_time 时间二 * @param int $r ...

  4. Linux 定时任务的配置

    通常我们会需要定时启动一些shell脚本,类似Windows中的Task Scheduler, 下面是在AWS EMR Cluster 主几点上配置的步骤: 1. 先创建一个shell脚本,将需要执行 ...

  5. Mqtt使用教程,简介

    1,简介 MQTT协议(Message Queuing Telemetry Transport),翻译过来就是遥信消息队列传输,是IBM公司于1999年提出的,现在最新版本是3.1.1.MQTT是一个 ...

  6. 【AtCoder】【模型转化】【二分答案】Median Pyramid Hard(AGC006)

    题意: 给你一个排列,有2*n-1个元素,现在进行以下的操作: 每一次将a[i]替换成为a[i-1],a[i],a[i+1]三个数的中位数,并且所有的操作是同时进行的,也就是说这一次用于计算的a[], ...

  7. angular中service封装$http做权限时拦截403等状态及获取验证码倒计时、跨域问题解决

    封装$http.做权限时拦截403等状态及获取验证码倒计时: 拦截接口返回状态 var app = angular.module('app'); app.factory('UserIntercepto ...

  8. 《Ray Tracing in One Weekend》、《Ray Tracing from the Ground Up》读后感以及光线追踪学习推荐

    <Ray Tracing in One Weekend> 优点: 相对简单易懂 渲染效果相当好 代码简短,只看书上的代码就可以写出完整的程序,而且Github上的代码是将基类与之类写在一起 ...

  9. NEO GUI 多方签名使用

    众所周至,NEOGUI是一个开发者演示用钱包,使用体验是非常的不友好的. 今天本来打算使用多方签名账户,发现和想象的不一样,请教了小伙伴也不行.遂调试了一下原因,发现踩进坑里了.     把这个问题记 ...

  10. Oracle命令行中显示:ORA-04076: 无效的 NEW 或 OLD 说明

    Oracle命令行进行操作时可能出现"ORA-04076: 无效的 NEW 或 OLD 说明" 需要在条件语句中JOB前面添加“old.”即可(因为是在when条件里面,所以不用“ ...