由于初学,安装这玩意搞了三天,其间各种报错难以解决,网上各种解答误导。最好的办法还是使用官方的英文文档,建议初学者一定要使用官方的文档,特别是下面两个页面作为初学者一定要细看:

Installing MySQL Using a Standard Source Distribution:(使用标准源码方式安装)

http://dev.mysql.com/doc/refman/5.7/en/installing-source-distribution.html

MySQL Source-
Configuration Options:(源码配置参数说明) http://dev.mysql.com/doc/refman/5.7/en/source-configuration-options.html

安装步骤:

# 新增mysql用户及用户组
shell> groupadd mysql
shell> useradd -r -g mysql -s /bin/false mysql

# 进入源码下载目录,解压
shell> tar zxvf mysql-VERSION.tar.gz

# 进入解压后的目录
shell> cd mysql-VERSION

# 进行配置
shell>cmake -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_BOOST=dir
# 上述内容有必要详细说明一下:
# 1、mysql从某一版本开始(好像是5.7),使用cmake进行配置,而不是./configure
# 2、mysql默认的配置参数一般可正常使用,详见上面的第二个链接,如不需要修改,则不用配置,我们这里只配置默认字符集与默认编码
# 3、mysql5.7.11版本需要使用boost(一个C++程序库),DWITH_BOOST后面需要配置该库的地址,建议直接下载带boost库的mysql源码包
# 开始编译及安装
shell> make && make install

# 清除安装临时文件
shell> make clean
# 备份/etc/my.cnf这个文件,删除掉/etc/my.cnf这个文件:(原因是系统可能原本就存在该文件,为不干扰mysql的正常使用,先删除)
shell> cp /etc/my.cnf /etc/my.cnf.bak
shell> rm -f /etc/my.cnf

# 进入安装目录(默认安装在此目录)
shell> cd /usr/local/mysql

# 更改本目录的主用户及用户组
shell> chown -R mysql .
shell> chgrp -R mysql .

# 初始化
shell> bin/mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
shell> bin/mysql_ssl_rsa_setup

# 更改本目录的主用户(设为root是为了防止普通用户不小心删除数据库)
shell> chown -R root .

# 更改数据存放目录的主用户
shell> chown -R mysql data

# 复制my.cnf
shell> cp support-files//my-default.cnf /etc/my.cnf

# 官方文档存在这一步,但不明白其用意。我在安装时跳过这一步。
shell> bin/mysqld_safe --user=mysql &

# 复制服务启动脚本
shell> cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql

# 编辑PATH搜索路径
shell> vi /etc/profile

# 在profile文件末尾增加两行
PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH
export PATH

# 使PATH搜索路径立即生效:
shell> source /etc/profile

# 启动MySQL服务
shell> service mysql start
# MySQL提示:The server quit without updating PID file问题的解决办法:用命令“ps -A|grep mysqld”查看是否有mysqld进程,如果有使用“kill -9 进程号”杀死,然后重新启动mysqld!

# 设置开机自动启动服务
shell> chkconfig mysql on

# 登录并修改MySQL用户root的密码
shell> mysql -u root
mysql> use mysql; mysql> GRANT ALL PRIVILEGES ON *.* TO root@"%" IDENTIFIED BY "123456";
mysql> flush privileges;
mysql> exit;

如有问题,可E-mail与我联系:523161658@qq.com

centos7上源码安装mysql5.7.11的更多相关文章

  1. CentOS7 实战源码安装mysql5.7.17数据库服务器

    CentOS7 实战源码安装mysql5.7.17数据库服务器 简介:实战演练mysql数据库服务器的搭建  mysql简介: mysql是一个开源的关系型数据库管理系统,现在是oracle公司旗下的 ...

  2. CentOS7下源码安装mysql5.6

    目录 准备工作 运行环境 确认你的安装版本 下载mysql 安装mysql 准备安装环境 编译和安装 配置mysql 单实例配置      单实例配置方法          添加防火墙         ...

  3. 国产化设备鲲鹏CentOS7上源码安装Python3.7

    具体编译过成与正常的Python源代码在x86平台上的过程无异,此篇随笔仅当用作复制黏贴的备忘录.不得不说在一个老旧系统上安装一个老旧的Python版本,从头编译一个Python还是一个较为稳健的选择 ...

  4. centos7下源码安装mysql5.7.16

    一.下载源码包下载mysql源码包 http://mirrors.sohu.com/mysql/MySQL-5.7/mysql-5.7.16.tar.gz 二.安装约定: 用户名:mysql 安装目录 ...

  5. 在CentOS7上源码安装php7--Install php7 from source on CentOS7

    首先下载php源码包并解压: # wget http://cn2.php.net/get/php-7.0.9.tar.gz/from/this/mirror # .tar.gz # cd php- 然 ...

  6. 在CentOS7上源码安装OpenResty

    您必须将这些库perl 5.6.1+libreadlinelibpcrelibssl安装在您的电脑之中. 对于 Linux来说, 您需要确认使用 ldconfig 命令,让其在您的系统环境路径中能找到 ...

  7. lnmp之阿里云源码安装mysql5.7.17

    mysql5.7.17一直号称世界上最好的mysql 那么就在阿里云主机linux安装它(采用的源码安装mysql5.7.17) 我在阿里云主机上安装它 连接阿里云主机 进入,跟我们自己装的虚拟机一毛 ...

  8. CentOS6.7源码安装MySQL5.6

    1.源码安装MySQL5.6 # CentOS6操作系统安装完成后,默认会在/etc目录下存在一个my.cnf, # 强制卸载了mysql-libs之后,my.cnf就会消失 rpm -qa | gr ...

  9. CentOS6.5源码安装MySQL5.6.35

    CentOS6.5源码安装MySQL5.6.35 一.卸载旧版本 1.使用下面的命令检查是否安装有mysql [root@localhost tools]# rpm -qa|grep -i mysql ...

随机推荐

  1. UVALive 6692 Lucky Number (思路 + 枚举)

    题意:给你n 个数字,某一个数的幸运数是这个数前面比他小 离他最远的位置之差,求出最大幸运值. 析:先按从大到小排序,然后去维护那个最大的id,一直比较,更新最大值就好. 代码如下: #pragma ...

  2. Notes on Probabilistic Latent Semantic Analysis (PLSA)

    转自:http://www.hongliangjie.com/2010/01/04/notes-on-probabilistic-latent-semantic-analysis-plsa/ I hi ...

  3. 学习JQuery中文文档之map()函数和get()函数

    今天学到一个新的函数map(). map(callback) 官方概述: 将一组元素转换成其他数组(不论是否是元素数组) 你可以用这个函数来建立一个列表,不论是值.属性还是CSS样式,或者其他特别形式 ...

  4. TL-WR703 USB不稳定/当前的总结

    http://see.sl088.com/wiki/WR703_USB%E4%B8%8D%E7%A8%B3%E5%AE%9A/%E5%BD%93%E5%89%8D%E7%9A%84%E6%80%BB% ...

  5. c++训练营--重载

    // demo1.cpp : 定义控制台应用程序的入口点. //通过此例程了解重载 #include "stdafx.h" #include <iostream> us ...

  6. MariaDB5.5.32 绿色版下载安装一条龙

    1.下载地址: http://ftp.yz.yamagata-u.ac.jp/pub/dbms/mariadb/mariadb-5.5.32/win32-packages/mariadb-5.5.32 ...

  7. C# 多线程处理相关说明: WaitHandle,waitCallback, ThreadPool.QueueUserWorkItem

    class TestThread { static void Main() { //使用WaitHandle静态方法阻止一个线程,直到一个或多个同步对象接收到信号 WaitHandle[] waitH ...

  8. C++ Primer 学习笔记_46_STL实践与分析(20)--容器特有的算法

    STL实践与分析 --容器特有的算法 与其它顺序容器所支持的操作相比,标准库为list容器定义了更精细的操作集合,使它不必仅仅依赖于泛型操作.当中非常大的一个原因就是list容器不是依照内存中的顺序进 ...

  9. Codeforces Round #337 (Div. 2) A. Pasha and Stick 数学

    A. Pasha and Stick 题目连接: http://www.codeforces.com/contest/610/problem/A Description Pasha has a woo ...

  10. TCP具体解释(2):三次握手与四次挥手

    TCP(Transmission Control Protocol,传输控制协议)是基于连接的协议,也就是说,在正式收发数据前,必须和对方建立可靠的连接,就好像你给别人打电话.必须等线路接通了.对方拿 ...