一、准备编译环境

# yum -y install ncurses ncurses-devel openssl-devel bison gcc gcc-c++ make cmake

# wget http://sourceforge.net/projects/boost/files/boost/1.59.0/boost_1_59_0.tar.gz

(内存不要太小)

二、准备源码包

# groupadd mysql

# useradd -r -g mysql -s /bin/false mysql (-r:系统用户,-g:组,-s:指定shell)

# tar xvf mysql-5.7.19.tar.gz

# cd mysql-5.7.19(以下都在该文件夹下完成)

[root@mysql3 mysql-5.7.19]# mv ../boost_1_59_0.tar.gz  .

[root@mysql3 mysql-5.7.19]# tar xf  boost_1_59_0.tar.gz(boost可以理解为MySQL的库文件)

配置

[root@mysql-5.7.17 ~]# cmake . \
-DWITH_BOOST=boost_1_59_0/ \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DSYSCONFDIR=/etc \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DINSTALL_MANDIR=/usr/share/man \
-DMYSQL_TCP_PORT=3306 \
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock \
-DDEFAULT_CHARSET=utf8 \
-DEXTRA_CHARSETS=all \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_READLINE=1 \
-DWITH_SSL=system \
-DWITH_EMBEDDED_SERVER=1 \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1

如果cmake失败,请将CMakeCache.txt缓存移除

编译

# make
    等待1个小时左右

安装

# make install

三、初始化

# cd /usr/local/mysql

# mkdir mysql-files

# chown -R mysql.mysql  /usr/local/mysql

#  /usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

#  /usr/local/mysql/bin/mysql_ssl_rsa_setup --datadir=/usr/local/mysql/data

# vim /etc/my.cnf

[root@mysql1 mysql]# vim /etc/my.cnf
[mysqld]
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data

四、开机启动MySQL

# cp support-files/mysql.server /etc/init.d/mysqld

# chkconfig --add mysqld

# chkconfig mysqld on

# service mysqld start

# ps aux |grep mysqld

mysql -u root -p '密码'  登陆有问题吗?

/usr/local/mysql/bin/mysql -u root -p'x/dwiQ2<l:hb'(引号内为上一步的临时密码)

配新密码

/usr/local/mysql/bin/mysqladmin -u root -p 'x/dwiQ2<l:hb' password 'QinFeng@123'

show databases; 看到库即可。

$PATH(必须做,有点的时候回报错,确保万无一失)

[root@mysql2 mysql]# mysql

-bash: mysql: command not found

[root@mysql2 mysql]# /usr/local/mysql/bin/mysql  (关键)

[root@mysql1 mysql]# echo "export PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile

[root@mysql1 mysql]# source /etc/profile

[root@localhost ~]# mysql
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 5
Server version: 5.7.19 Source distribution
登录成功

五、报错记录

1、[root@localhost mysql]# service mysqld start
Starting MySQL.2019-11-02T11:02:31.316199Z mysqld_safe error: log-error set to '/var/lble for user 'mysql'.
 ERROR! The server quit without updating PID file (/usr/local/mysql/data/localhost.pid)
[root@localhost mysql]# mkdir /var/lo
local/ lock/  log/   
[root@localhost mysql]# mkdir /var/log/mariadb
[root@localhost mysql]# touch /var/log/mariadb/mariadb.log
[root@localhost mysql]# chown -R mysql:db /var/log/mariadb
chown: invalid group: ‘mysql:db’
[root@localhost mysql]# chown -R mysql:mysql /var/log/mariadb/
[root@localhost mysql]#
[root@localhost mysql]# service mysqld start
Starting MySQL. SUCCESS!

2、[root@localhost ~]# mysql
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (111)

解决:[root@localhost ~]# yum -y install mariadb mariadb-server

[root@localhost ~]# systemctl restart mariadb
[root@localhost ~]# mysql
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 2
Server version: 5.5.64-MariaDB MariaDB Server

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]>

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

  1. mysql 5.5源码包安装

    注:由于mysql5.5的源码包安装与mysql之前的版本安装方法不同,故写一篇随笔记录.5.5的版本不再是./configure make make install 这里用到了cmake了,cmak ...

  2. MySQL源码包编译安装

    +++++++++++++++++++++++++++++++++++++++++++标题:MySQL数据库实力部署时间:2019年3月9日内容:MySQL源码包进行编译,然后部署MySQL单实例重点 ...

  3. 源码包安装(Python mysql redis)

    一  源码包安装 (1)python3.6源码包安装 ./configure ------> 定制功能 make make install mysql 源码包 cmake make make i ...

  4. Mysql安装 ----> 基于源码包安装

    1)基于源码包安装MySQL [root@localhost ~]# rpm -q mysql mysql-server mariadb mairadb-server           //检查有没 ...

  5. Zabbix源码包安装

    Zabbix源码包安装 Cenos5.3 Basic server 安装顺序 Libxml2 Libmcrypt Zlib Libpng Jpeg:需要创建目录jpeg  /bin  /lib   / ...

  6. ubuntu下mysql源码编译安装

    建议:cpu4核以上,内存4G以上 1. 安装环境:Ubuntu Server 14.10MySQL-5.6.23.tar.gz 2. 安装必备的工具sudo apt-get install make ...

  7. MySQL5.7 二进制源码包安装

    一般平时安装MySQL都是源码包安装的,但是由于它的编译需要很长的时间,所以建议安装二进制免编译包.可以到MySQL官方网站去下载,也可以到comsenz官方网站下载,还有各大镜像站下载. 下载安装包 ...

  8. 02.LNMP架构-MySQL源码包编译部署详细步骤

    操作系统:CentOS_Server_7.5_x64_1804.iso 部署组件:Cmake+Boost+MySQL 操作步骤: 一.安装依赖组件 [root@localhost ~]# yum -y ...

  9. Dubbo入门到精通学习笔记(十九):MySQL源码编译安装、MySQL主从复制的配置

    文章目录 MySQL 源码编译安装(CentOS-6.6+MySQL-5.6) 一.服务器配置: 二.源码安装 MySQL5.6.26: MySQL主从复制的配置 环境 依赖课程 MySQL 主从复制 ...

随机推荐

  1. 详解PHP文件下载的原理和实现

    通常文件下载过程是十分简单的,建立一个链接指向到目标文件就可以了.例如下面的链接: XML/HTML代码 <a href=http://www.xxx.com/xxx.rar>点击下载文件 ...

  2. vs开发之工程属性

    1.建立工程 最好使用自己创建工程 然后把代码移过去 2.不要使用别人建立的工程直接导入(差异比较大的话),后面32位 64位 配置属性 可能造成冲突 3.冲突了 还需要重新做 上面 1

  3. 调试dcc 试图将u-boot放入ocm运行碰到的问题

    1. 起因: gd->mon_len = (ulong)&__bss_end - (ulong)_start; 在u-boot.map中查找,发现__bss_end并不是u-boot.b ...

  4. 【转】原生js实现移动端h5长按事件

    $("#target").on({ touchstart: function(e) { // 长按事件触发 timeOutEvent = setTimeout(function() ...

  5. jmeter使用jdbc获取注册验证码进行注册

    自动化工具测试注册功能时,往往会遇到验证码,这个烦人的验证码怎么能够解决掉呢? 通常有两种方法 让开发禁用注册码,或在测试环境写个固定的验证码 在jmeter中用 jdbc获取数据库中验证码 今天通过 ...

  6. 【SaltStack官方版】—— STORING JOB RESULTS IN AN EXTERNAL SYSTEM

    STORING JOB RESULTS IN AN EXTERNAL SYSTEM After a job executes, job results are returned to the Salt ...

  7. mysql 特殊符号

    1.完全等于 <=> mysql> select null <=> null; +---------------+ | null <=> null | +-- ...

  8. jquery eq()选择器 语法

    jquery eq()选择器 语法 作用::eq() 选择器选取带有指定 index 值的元素.index 值从 0 开始,所有第一个元素的 index 值是 0(不是 1).经常与其他元素/选择器一 ...

  9. 箱排序(Bin Sort)

    1.基本思想 排序过程无须比较关键字,而是通过"分配"和"收集"过程来实现排序.它们的时间复杂度可达到线性阶:O(n). 箱排序也称桶排序(Bucket Sor ...

  10. codevs 1255 搭积木 x

    1255 搭积木 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 大师 Master 题目描述 Description 一种积木搭建方式,高为H的积木,最底层有M个积木,每一层的积木 ...