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

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. SetTimer函数的用法

    什么时候我们需要用到SetTimer函数呢?当你需要每个一段时间执行一件事的的时候就需要使用SetTimer函数 了.使用定时器的方法比较简单,通常告诉WINDOWS一个时间间隔,然后WINDOWS以 ...

  2. 【转贴】Linux系统NGINX负载均衡404错误处理方法

    NGINX负载均衡404错误处理方法 使用NGINX 实现负载均衡,但一组服务器的数据不是实施同步,主服务器有了数据要过段时间才同步到其他服务器 upstream   image.stream.com ...

  3. 无责任Windows Azure SDK .NET开发入门篇二[使用Azure AD 进行身份验证-2.2身份验证开发]

    2.2身份验证开发 在我们的案例中,我们是用户通过Web应用程序进行身份识别. 上面的图示说明了如下的一些概念 l Azure AD 是标识提供程序,负责对组织的目录中存在的用户和应用程序的标识进行验 ...

  4. js中的call及apply

    http://www.zhihu.com/question/20289071 func1.call(this, arg1, arg2); 或者 func1.apply(this, [arg1, arg ...

  5. Regular Expression--Good parts

    匹配URL的正则表达式 <!doctype html><html lang="en"><head> <meta charset=" ...

  6. BOM(制造数据管理)

    --工艺路线 DECLARE -- API input variables l_operation_tbl bom_rtg_pub.operation_tbl_type := bom_rtg_pub. ...

  7. MHA高可用+VIP 集群故障转移(已测试成功)

       服务器部署说明192.168.158.201 mha管理,mysql主服192.168.158.202 mha节点,mysql从服192.168.158.203 mha节点,mysql从服Man ...

  8. 开发过程中常用的Linux命令

    做Java开发好几年了,部署JavaWeb到服务器上,一般都选择Linux,Linux作为服务器真是不二之选,高性能,只要熟悉Linux,操作快捷,效率很高. 总结一下工作中常用的Linux命令备忘: ...

  9. Android 使用 TableLayout 布局拉伸宽度

    转自:http://www.cnblogs.com/ghj1976/archive/2011/04/21/2023850.html 布局文件 <?xml version="1.0&qu ...

  10. iOS开发——UI篇Swift篇&UIDatePicker

    UIDatePicker //返回按钮事件 @IBAction func backButtonClick() { self.navigationController?.popViewControlle ...