iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >MySQL源码安装的方法介绍
  • 710
分享到

MySQL源码安装的方法介绍

2024-04-02 19:04:59 710人浏览 薄情痞子
摘要

本篇内容主要讲解“Mysql源码安装的方法介绍”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“mysql源码安装的方法介绍”吧! M

本篇内容主要讲解“Mysql源码安装的方法介绍”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习mysql源码安装的方法介绍”吧!

MYsql的安装分三种:命令行安装、二进制安装和源码安装
命令行安装相对而言简单,我们就不做过多陈述,今天就着重讲讲MYSQL的源码安装
编译安装过程描述:

  •     1.下载源代码

  •     2.检查源码编译所需的依赖包是否齐全

  •     3.解压编译

  •     4.make && make install

  •     5.初始化数据目录

  •     6.数据库权限设置

  •     7.定义启动方式

软件安装的常规约定:

  •     软件安装包放在/usr/local/src下

  •     软件根目录basedir在/usr/local/xxx下,如:/usr/local/mysql

  •     配置文件在/etc/下,如:/etc/my.cnf

  •     数据目录datadir一般放在单独的磁盘上

  •     mysql服务名为mysqld

========
准备
========
#创建数据目录
[root@xxx ~]# mkdir /data/mysql
#创建根目录
[root@xxx ~]# mkdir /usr/local/mysqlrp
#进入软件存放目录
[root@xxx ~]# cd /usr/local/src/
[root@xxx src]# mv /root/mysql-5.6.24.tar.gz .
[root@xxx src]# tar -zxvf mysql-5.6.24.tar.gz
[root@xxx src]# cd mysql-5.6.24
#检查cmake是否安装,如果未安装,请使用yum install cmake或其它方式安装
[root@xxx mysql-5.6.24]# which cmake
    /usr/bin/cmake
#安装必备的依赖包
[root@xxx mysql-5.6.24]# yum install ncurses-devel
[root@xxx mysql-5.6.24]# yum install bison
#=======
编译
#=======
cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysqlrp \
-DMYSQL_DATADIR=/data/mysql \
-DSYSCONFDIR=/etc \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock \
-DMYSQL_tcp_PORT=3306 \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_PARTITioN_STORAGE_ENGINE=1 \
-DEXTRA_CHARSETS=all \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci

[root@xxx mysql-5.6.24]# ls /usr/local/mysqlrp/
[root@xxx mysql-5.6.24]#
[root@xxx mysql-5.6.24]# ls /data/mysql/
[root@xxx mysql-5.6.24]#
[root@xxx mysql-5.6.24]# make
[root@xxx mysql-5.6.24]# ls /usr/local/mysqlrp/
[root@xxx mysql-5.6.24]# ls /data/mysql/
[root@xxx mysql-5.6.24]#
#make install时才会在根目录下生成文件
[root@xxx mysql-5.6.24]# make install
[root@xxx mysql-5.6.24]# ls /usr/local/mysqlrp/
    bin      data  include         lib  mysql-test  scripts  sql-bench
    COPYING  docs  INSTALL-BINARY  man  README      share    support-files
[root@xxx mysql-5.6.24]# ls /data/mysql/
[root@xxx mysql-5.6.24]#
[root@xxx mysql-5.6.24]# cd /usr/local/mysqlrp/
#创建mysql管理用户及组
[root@xxx mysqlrp]# groupadd mysql
[root@xxx mysqlrp]# useradd mysql -g mysql
#修改配置文件,修改根目录、数据目录位置。
[root@xxx local]# vi /etc/my.cnf
    ...
    [mysqld]
    basedir=/usr/local/mysqlrp   
    datadir=/data/mysql
#初始化数据目录
[root@xxx mysqlrp]# ./scripts/mysql_install_db --user=mysql --defaults-file=/etc/my.cnf &
#制作mysql服务mysqld
[root@xxx mysqlrp]# cp support-files/mysql.server /etc/init.d/mysqld
#修改各个目录对应权限
[root@xxx mysqlrp]#chown -R mysql.mysql /usr/local/mysqlrp
[root@xxx mysqlrp]#chown -R mysql.mysql  /data/mysql
[root@xxx mysqlrp]#chown mysql.mysql  /etc/my.cnf
[root@xxx mysqlrp]#chown mysql.mysql  /etc/init.d/mysqld
[root@xxx mysqlrp]#chmod -R 755 /usr/local/mysqlrp
[root@xxx mysqlrp]#chmod -R 755 /data/mysql
root@xxx mysqlrp]#chmod  644 /etc/my.cnf
[root@xxx mysqlrp]#chmod 755 /etc/init.d/mysqld
#启动mysql服务
[root@xxx local]# service mysqld start
   Starting MySQL.          
[  OK  ]

#=======
#源码编译常见依赖包
#=======
kernel-headers-2.6.32-358.el6.x86_64.rpm
glibc-headers-2.12-1.107.el6.x86_64.rpm
glibc-devel-2.12-1.107.el6.x86_64.rpm
cpp-4.4.7-3.el6.x86_64.rpm
gcc-4.4.7-3.el6.x86_64.rpm
libstdc++-devel-4.4.7-3.el6.x86_64.rpm
gcc-c++-4.4.7-3.el6.x86_64.rpm
autoconf-2.63-5.1.el6.noarch.rpm
automake-1.11.1-4.el6.noarch.rpm
zlib-1.2.3-29.el6.x86_64.rpm
ncurses-devel-5.7-3.20090208.el6.x86_64.rpm
libgcrypt-1.4.5-9.el6_2.2.x86_64.rpm
libtool-2.2.6-15.5.el6.x86_64.rpm
bison-2.4.1-5.el6.x86_64.rpm

#=======
#附实验2则,解释常见疑问
#实验1说明,数据目录初始化的时候,必须在根目录basedir下初始化目录(具体数据目录可以自定义),使用初始化脚本进行初始化。
#实验2说明,数据库在编译的时候会修改源码里面的内容,例如src/mysql-5.6.24/support-files/mysql.server ,会将根目录修改为编译时指定的根目录
#        数据库编译时指定数据目录,安装完成后mysql工具没有指定数据目录且根目录下没有data目录会优先将编译时指定的数据目录作为自己的数据目录
#=======


点击(此处)折叠或打开

  1. #=======

  2.     #实验1

  3.     #=======

  4.     [root@xxx mysqlrp]# mkdir /tmp/test

  5.     #=======

  6.     #测试进入临时目录,做数据目录初始化

  7.     #=======

  8.     [root@xxx mysqlrp]# cd /tmp/test/

  9.     [root@xxx test]# /usr/local/mysqlrp/scripts/mysql_install_db --user=mysql &

  10.             [1] 36700

  11.             [root@xxx test]# FATAL ERROR: Could not find ./bin/my_print_defaults


  12.             If you compiled from source, you need to run 'make install' to

  13.             copy the software into the correct location ready for operation.


  14.             If you are using a binary release, you must either be at the top

  15.             level of the extracted arcHive, or pass the --basedir option

  16.             pointing to that location.



  17.             [1]+ Exit 1 /usr/local/mysqlrp/scripts/mysql_install_db --user=mysql

  18.     [root@xxx test]# /usr/local/mysqlrp/scripts/mysql_install_db --user=mysql --datadir=/data/mysql &

  19.             [1] 36704

  20.             [root@xxx test]# FATAL ERROR: Could not find ./bin/my_print_defaults

  21.             

  22.             If you compiled from source, you need to run 'make install' to

  23.             opy the software into the correct location ready for operation.

  24.             

  25.             If you are using a binary release, you must either be at the top

  26.             level of the extracted archive, or pass the --basedir option

  27.             pointing to that location.

  28.             

  29.            

  30.             [1]+ Exit 1 /usr/local/mysqlrp/scripts/mysql_install_db --user=mysql --datadir=/data/mysql

  31.     [root@xxx test]# /usr/local/mysqlrp/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysqlrp --datadir=/data/mysql &

  32.     #=======

  33.     #指定了根目录后总算初始化成功

  34.     #=======

  35.     [root@xxx mysqlrp]# cp support-files/mysql.server /etc/init.d/mysqld

  36.     [root@xxx mysqlrp]# chown -R mysql.mysql /usr/local/mysql

  37.     [root@xxx mysqlrp]# chown -R mysql.mysql /data/mysql/

  38.     [root@xxx mysqlrp]# mkdir log

  39.     [root@xxx mysqlrp]# chown -R mysql.mysql log

  40.     [root@xxx mysqlrp]# ./bin/mysqld_safe --user=mysql &

  41.             [1] 37694

  42.             [root@xxx mysqlrp]# 151113 15:45:58 mysqld_safe Logging to '/data/mysql/zc-appname-ip-ip.err'.

  43.             151113 15:45:59 mysqld_safe Starting mysqld daemon with databases from /data/mysql

  44.             151113 15:45:59 mysqld_safe mysqld from pid file /data/mysql/zc-appname-ip-ip.pid ended

  45.             

  46.             [1]+ Done ./bin/mysqld_safe --user=mysql

  47.     [root@xxx mysqlrp]# ps -ef|grep mysql

  48.             root 37847 12729 0 15:46 pts/3 00:00:00 grep mysql

  49.     #=======

  50.     #试图启动,失败

  51.     #=======

  52.     [root@xxx local]# mv mysqlrp/ mysql

  53.     [root@xxx mysqlrp]# chown -R mysql.mysql /usr/local/mysql

  54.     [root@xxx local]# mv mysql/ mysqlrp

  55.     [root@xxx local]# service mysqld start

  56.     Starting MySQL.The server quit without updating PID file (/data/mysql/zc-appname-ip-ip.pid). [FaiLED]

  57.     #=======

  58.     #试图启动,失败

  59.     #=======

  60.     [root@xxx local]# cd mysqlrp/

  61.     [root@xxx mysqlrp]# ./bin/mysqld

  62.     mysqld mysqld_multi mysqld_safe mysqldump mysqldumpslow

  63.     [root@xxx mysqlrp]# ./bin/mysqld_safe --user=mysql&

  64.     [1] 38052

  65.     [root@xxx mysqlrp]# 151113 15:49:31 mysqld_safe Logging to '/data/mysql/zc-appname-ip-ip.err'.

  66.     151113 15:49:31 mysqld_safe Starting mysqld daemon with databases from /data/mysql

  67.     151113 15:49:32 mysqld_safe mysqld from pid file /data/mysql/zc-appname-ip-ip.pid ended


  68.     [1]+ Done ./bin/mysqld_safe --user=mysql

  69.     [root@xxx mysqlrp]# ps -ef|grep mysql

  70.     root 38205 12729 0 15:49 pts/3 00:00:00 grep mysql

  71.     #=======

  72.     #试图启动,失败

  73.     #=======

  74.     [root@xxx mysqlrp]# ./scripts/mysql_install_db --user=mysql --datadir=/data/mysql/ &

  75.     #=======

  76.     #初始化数据目录成功

  77.     #=======

  78.     [root@xxx mysqlrp]# ./scripts/mysql_install_db --user=mysql --datadir=/usr/local/mysqlrp/data/ &

  79.     #=======

  80.     #再次初始化数据目录,成功

  81.     #=======

  82.     [root@xxx mysqlrp]# ./bin/mysqld_safe --user=mysql &

  83.     [1] 38312

  84.     [root@xxx mysqlrp]# 151113 15:56:03 mysqld_safe Logging to '/usr/local/mysqlrp/data/zc-appname-ip-ip.err'.

  85.     151113 15:56:03 mysqld_safe Starting mysqld daemon with databases from /usr/local/mysqlrp/data


  86.     [root@xxx mysqlrp]# ps -ef|grep mysql

  87.     root 38312 12729 0 15:56 pts/3 00:00:00 /bin/sh ./bin/mysqld_safe --user=mysql

  88.     mysql 38441 38312 3 15:56 pts/3 00:00:00 /usr/local/mysqlrp/bin/mysqld --basedir=/usr/local/mysqlrp --datadir=/usr/local/mysqlrp/data --plugin-dir=/usr/local/mysqlrp/lib/plugin --user=mysql --log-error=/usr/local/mysqlrp/data/zc-appname-ip-ip.err --pid-file=/usr/local/mysqlrp/data/zc-appname-ip-ip.pid --Socket=/tmp/mysql.sock

  89.     root 38465 12729 0 15:56 pts/3 00:00:00 grep mysql

  90.     #=======

  91.     #试图启动,成功

  92.     #=======


  93.     #=======

  94.     #实验2

  95.     #=======

  96.     [root@xxx mysqlrp]# 151113 15:56:43 mysqld_safe mysqld from pid file /usr/local/mysqlrp/data/zc-appname-ip-ip.pid ended

  97.     ps

  98.       PID TTY TIME CMD

  99.     12729 pts/3 00:00:00 bash

  100.     38471 pts/3 00:00:00 ps

  101.     [1]+ Done ./bin/mysqld_safe --user=mysql

  102.     [root@xxx mysqlrp]# ps -ef|grep mysql

  103.     root 38473 12729 0 15:56 pts/3 00:00:00 grep mysql

  104.     [root@xxx mysqlrp]# service mysqld start

  105.     Starting MySQL.The server quit without updating PID file (/[FAILED]ql/zc-appname-ip-ip.pid).

  106.     [root@xxx mysqlrp]#

  107.     [root@xxx local]# cp src/mysql-5.6.24/support-files/mysql.server /etc/init.d/mysqldcp: overwrite `/etc/init.d/mysqld'? y

  108.     [root@xxx local]# service mysqld start

  109.     /etc/init.d/mysqld: line 256: my_print_defaults: command not found

  110.     /etc/init.d/mysqld: line 276: cd: /usr/local/mysqlrp: No such file or directory

  111.     Starting MySQLCouldn't find MySQL Server (/usr/local/mysqlr[FAILED]sqld_safe)

  112.     [root@xxx local]# mv mysql mysqlrp

  113.     [root@xxx local]# service mysqld start

  114.     Starting MySQL.The server quit without updating PID file (/[FAILED]ql/zc-appname-ip-ip.pid).

  115.     [root@xxx local]# vi /etc/my.cnf

  116.         datadir=xxxx

  117.     [root@xxx local]# service mysqld start

  118.     Starting MySQL.

  119.     [ OK ]

到此,相信大家对“MySQL源码安装的方法介绍”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

您可能感兴趣的文档:

--结束END--

本文标题: MySQL源码安装的方法介绍

本文链接: https://www.lsjlt.com/news/60702.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • MySQL源码安装的方法介绍
    本篇内容主要讲解“MySQL源码安装的方法介绍”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“MySQL源码安装的方法介绍”吧! M...
    99+
    2024-04-02
  • mysql的源码安装方法
    本篇内容介绍了“mysql的源码安装方法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! ...
    99+
    2024-04-02
  • mysql源码包的安装方法
    这篇文章主要介绍了mysql源码包的安装方法,具有一定借鉴价值,需要的朋友可以参考下。希望大家阅读完这篇文章后大有收获。下面让小编带着大家一起了解一下。mysql源码包安装的方法:首先上传或下载源码包,并安...
    99+
    2024-04-02
  • MySQL的安装介绍
    本篇内容介绍了“MySQL的安装介绍”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!MySQL 安装本教程的...
    99+
    2024-04-02
  • MySQL数据库的介绍及安装方法
    本篇内容介绍了“MySQL数据库的介绍及安装方法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!  一、My...
    99+
    2024-04-02
  • Pandas的介绍及安装方法
    这篇文章主要介绍“Pandas的介绍及安装方法”,在日常操作中,相信很多人在Pandas的介绍及安装方法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Pandas的介绍及安装方法”的疑惑有所帮助!接下来,请跟...
    99+
    2023-06-01
  • 介绍linux golang安装方法
    Linux Golang 安装教程Golang 是一种高效、简洁、并发和可靠的编程语言,开源、跨平台,并且特别适合构建网络应用和云服务。在 Linux 系统中安装 Golang 是一个容易的过程,下面我们将给您简单介绍如何进行安装。下载并解...
    99+
    2023-05-14
    Golang
  • mysql三种安装方式介绍
    这篇文章主要讲解了“mysql三种安装方式介绍”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“mysql三种安装方式介绍”吧! MYSQL版本介绍 ...
    99+
    2024-04-02
  • windows7字体安装方法介绍
    windows7字体安装方法是什么,最先客户必须先下载字体文件,然后在我的电脑中进到字体文件夹,以后用户们将拷贝解压出来的字体文件,黏贴到字体文件夹中,就能够自动安装了,以后就能看到这个字体文件了,下面则是windows7字体安装方法介绍的...
    99+
    2023-07-13
  • centos5源码安装Nginx、mysql和php的方法
    这篇文章主要讲解了“centos5源码安装Nginx、mysql和php的方法”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“centos5源码安装Nginx、mysql和php的方法”吧!我...
    99+
    2023-06-10
  • PHP7.2源码安装的方法
    这篇文章将为大家详细讲解有关PHP7.2源码安装的方法,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。php有什么用php是一个嵌套的缩写名称,是英文超级文本预处理语言,它的语法混合了C、Java、Perl...
    99+
    2023-06-14
  • 安装MySQL后如何运行?介绍两种方法
    上一篇文章小白如何安装MySQL——使用安装器安装有写到如何快速安装MySQL 那么这篇就来介绍一下安装后怎么启动MySQL 提供两种方法 一、cmd程序启动 首先要找到安装后的mysql目录下的bin文件,该文件下有个mysql的应用程序...
    99+
    2023-10-25
    mysql 数据库
  • MariaDB源码安装和YUM安装的方法
    这篇文章主要讲解了“MariaDB源码安装和YUM安装的方法”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“MariaDB源码安装和YUM安装的方法”吧!一、...
    99+
    2024-04-02
  • MySQL源码安装
    1,下载源码安装包 http://dev.mysql.com/downloads/mysql/        &nb...
    99+
    2024-04-02
  • mysql的源码安装方法以及自动启动方法
    本篇内容介绍了“mysql的源码安装方法以及自动启动方法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!先下...
    99+
    2024-04-02
  • Python中安装库的常用方法介绍
    目录方法一:需要在网络条件下安装方法二:离线安装方法三:换源安装总结方法一:需要在网络条件下安装 win+R进入运行框输入命令cmd 点击确定进入 普通下载:pip instal...
    99+
    2024-04-02
  • Pytorch中torchtext终极安装方法介绍
    本篇文章和大家了解一下Pytorch中torchtext终极安装方法介绍。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。目录简介先说成功安装的方法常见的其他安装方式1 直接使用pip install torchtext安装...
    99+
    2023-07-06
  • mysql的查询方法介绍
    本篇内容主要讲解“mysql的查询方法介绍”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“mysql的查询方法介绍”吧!  本文主要介绍的是MySQL慢查询分析方...
    99+
    2024-04-02
  • 笔记本电脑win7安装方法的介绍
    电脑系统种类有很多,不过大众用户普遍认为win7 64位系统最好用,win7适合任意电脑安装使用,有些用户就想给笔记本电脑装win7系统,但是不清楚笔记本电脑怎么装win7系统,所以今天小编就来跟大家说说win7安装方法,大家一起来看看吧。...
    99+
    2023-07-12
  • WindowsXP下硬盘安装CentOS 5.5的方法介绍
    1> 用PQMagic在电脑上格出一个空白分区。 2> 下载Centos 5.5的ISO镜像保存到一个fat32的分区,这里保存到D盘根目录下。同时用UltraISO把ISO里的isolinux文件夹解压到D...
    99+
    2023-05-26
    centOS 硬盘 CentOS 5.5 WindowsXP 方法
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作