ホームページ データベース mysql チュートリアル 源码编译安装MySQL5.6.10最佳实践

源码编译安装MySQL5.6.10最佳实践

Jun 07, 2016 pm 04:19 PM
インストール 練習する 最適な ソースコード コンパイル

1安装cmake MySQL从5.5版本开始,通过./configure进行编译配置方式已经被取消,取而代之的是cmake工具。 因此,我们首先要在系统中源码编译安装cmake工具。 # wget # tar zxvf cmake-2.8.7.tar.gz # cd cmake-2.8.7 # ./configure # make # make install 1.1

   1安装cmake

  MySQL从5.5版本开始,通过./configure进行编译配置方式已经被取消,取而代之的是cmake工具。

  因此,我们首先要在系统中源码编译安装cmake工具。

  # wget

  # tar zxvf cmake-2.8.7.tar.gz

  # cd cmake-2.8.7

  # ./configure

  # make

  # make install

  1.1cmake命令语法

  1.2重新编译时,需要清除旧的对象文件和缓存信息

  # make clean

  # rm -f CMakeCache.txt

  1.3安装选项

  CMAKE_INSTALL_PREFIX值是安装的基本目录,其他cmake选项值是不包括前缀,是相对路径名,绝对路径包括CMAKE_INSTALL_PREFIX路径。如-DINSTALL_SBINDIR=sbin的绝对路径是/usr/local/mysql /sbin

  1.4存储引擎选项

  mysql存储引擎是插件式的,因此插件控制选项可以指定那个存储引擎安装。

  configure编译插件选项--with-plugins=csv,myisam,myisammrg,heap,innobase,archive,blackhole在cmake中没有直接对应的相同选项。对于csv,myisam,myisammrg,heap在cmake中是不需要明确指定存储引擎的名称,因为它们是强制性安装。

  可以使用以下选择来安装innodb,archive,blackhole存储引擎

  -DWITH_INNOBASE_STORAGE_ENGINE=1

  -DWITH_ARCHIVE_STORAGE_ENGINE=1

  -DWITH_BLACKHOLE_STORAGE_ENGINE=1

  (1可以使用on代替)

  如果既不是-DWITH__STORAGE_ENGINE也不是-DWITHOUT__STORAGE_ENGINE 来指定存储引擎,该存储引擎将安装成共享模块式的。如果不是共享模块式的将排除在外。共享模块安装时必须使用INSTALL PLUGIN语句或--plugin-load才可以使用。

  有关插件的CMake的选项的其他信息,请查阅:

  1.5 lib库选项

  1.6其他选项

  之前MySQL的编译选项大多数都支持。新旧版本之间的安装选项映射成大写字母,删除选项前面破折号,中间字符间的破折号替换成下划线。如:

  --with-debug => WITH_DEBUG=1

  --with-embedded-server => WITH_EMBEDDED_SERVER

  1.7调试配置过程

  使用configure编译完将生成config.log和config.status文件。

  使用cmake编译完在CMakeFiles目录下生成CMakeError.log 和CMakeOutput.log文件。

  1.8第三方接口工具

  在之前的版本,第三方工具从MySQL顶层源目录中读取源configure.in文件来确定mysql版本。如:对5.5.7 - RC版本的AC_INIT线看起来像这样:

  AC_INIT([MySQLServer], [5.5.7-rc], [], [mysql])

  现在的版本可以直接读取版本文件。如:如果版本是5.5.8,,文件看起来像这样的:

  MYSQL_VERSION_MAJOR=5

  MYSQL_VERSION_MINOR=5

  MYSQL_VERSION_PATCH=8

  MYSQL_VERSION_EXTRA=rc

  如果源码包不是GA版,MYSQL_VERSION_EXTRA的值将非空。如:对于一个发布RC版本是这样的: MYSQL_VERSION_EXTRA=rc

  构建5位数字的版本号,使用下面公式:

  MYSQL_VERSION_MAJOR*10000+ MYSQL_VERSION_MINOR*100 + MYSQL_VERSION_PATCH

  2验证安装依赖

  通过 rpm -qa | grep name的方式验证以下软件包是否已全部安装。

  gcc* gcc-c++* autoconf* automake* zlib*libxml* ncurses-devel* libmcrypt* libtool*

  通过yum安装示例

  例:yum install gcc gcc-c++

  例:yum install ncurses-devel

  如果缺少相关的软件包,可通过yum -y install的方式在线安装,或直接从系统安装光盘中找到并通过rpm -ivh的方式安装。

  3安装前的系统设置

  建立mysql安装目录及数据存放目录

  # mkdir /usr/mysql5.5

  # mkdir /usr/mysql5.5/data

  创建用户和用户组

  # groupadd mysql

  # useradd –gmysql mysql

  赋予数据存放目录权限

  # chown mysql:mysql –R /opt/mysql5.5/data

  4正式开始安装(从configure更换为cmake)

  我相信大多数人都已经习惯了之前的configure方式,并且所使用的参数也是比较个性化的,换成cmake之后,这一方面会带来不少的麻烦。

  还好,MySQL的官方网站提供了二者的参数对照表,我们可以尽可能的保留之前的参数,来编译配置新的MySQL版本。

  configure 与cmake参数对照指南:

  

  以我自己为例,之前我一直使用的参数为:

  ./configure --prefix=/opt/mysql/

  --sysconfdir=/opt/mysql/etc

  --localstatedir=/opt/mysql/data

  --with-tcp-port=3306

  --with-unix-socket-path=/tmp/mysqld.sock

  --with-mysqld-user=mysql

  --enable-assembler

  --with-extra-charsets=all

  --enable-thread-safe-client

  --with-big-tables

  --with-readline

  --with-ssl

  --with-embedded-server

  --enable-local-infile

  --with-plugins=partition,innobase,myisammrg

  经过与cmake的参数对照之后,去除掉已经被取消的参数(大多数是因为新版本已经默认启用),cmake的参数配置如下:

  cmake -DCMAKE_INSTALL_PREFIX=/opt/mysql

  -DSYSCONFDIR=/opt/mysql/etc

  -DMYSQL_DATADIR=/opt/mysql/data

  -DMYSQL_TCP_PORT=3306

  -DMYSQL_UNIX_ADDR=/tmp/mysqld.sock

  -DMYSQL_USER=mysql

  -DEXTRA_CHARSETS=all

  -DWITH_READLINE=1

  -DWITH_SSL=system

  -DWITH_EMBEDDED_SERVER=1

  -DENABLED_LOCAL_INFILE=1

  -DWITH_INNOBASE_STORAGE_ENGINE=1

  -DWITHOUT_PARTITION_STORAGE_ENGINE=1

  不带换行符的(只有一行)

  4.1参数:-DWITHOUT_PARTITION_STORAGE_ENGINE=1

  在64位机器上编译不过,会出现如下错误:(64位机器的浮点数运算上出错,导致找不着相应的函数)

  libsql.a(handler.cc.o): In function`get_ha_partition(partition_info*)’:

  /data/mysql-5.5.14/sql/handler.cc:269: undefined reference to`ha_partition::ha_partition(handlerton*, partition_info*)’

  /data/mysql-5.5.14/sql/handler.cc:271: undefined reference to`ha_partition::initialize_partition(st_mem_root*)’

  libsql.a(sql_partition_admin.cc.o): In function`Alter_table_truncate_partition_statement::execute(THD*)’:

  /data/mysql-5.5.14/sql/sql_partition_admin.cc:165: undefinedreference to `ha_partition::truncate_partition(Alter_info*, bool*)’

  collect2: ld returned 1 exit status

  make[2]: *** [sql/mysqld] Error 1

  make[1]: *** [sql/CMakeFiles/mysqld.dir/all] Error 2

  make: *** [all] Error 2

  4.2参数:-DWITH_SSL=bundled

  自mysql5.6.*及以后的版本都要默认带上此参数,否则编译不过 ,相关贴子:

  https://github.com/santisaez/powerstack/issues/49

  Use bundled SSL on CentOS-5

  4.3安装执行

  # tar xvf mysql-5.5.10.tar.gz

  # cd mysql-5.5.10

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Win11システムに中国語言語パックをインストールできない問題の解決策 Win11システムに中国語言語パックをインストールできない問題の解決策 Mar 09, 2024 am 09:48 AM

Win11 システムに中国語言語パックをインストールできない問題の解決策 Windows 11 システムの発売に伴い、多くのユーザーは新しい機能やインターフェイスを体験するためにオペレーティング システムをアップグレードし始めました。ただし、一部のユーザーは、アップグレード後に中国語の言語パックをインストールできず、エクスペリエンスに問題が発生したことに気づきました。この記事では、Win11 システムに中国語言語パックをインストールできない理由について説明し、ユーザーがこの問題を解決するのに役立ついくつかの解決策を提供します。原因分析 まず、Win11 システムの機能不全を分析しましょう。

VirtualBox にゲスト追加機能をインストールできない VirtualBox にゲスト追加機能をインストールできない Mar 10, 2024 am 09:34 AM

OracleVirtualBox の仮想マシンにゲスト追加をインストールできない場合があります。 [デバイス] > [InstallGuestAdditionsCDImage] をクリックすると、以下に示すようなエラーがスローされます。 VirtualBox - エラー: 仮想ディスク C: プログラミング ファイルOracleVirtualBoxVBoxGuestAdditions.iso を ubuntu マシンに挿入できません この投稿では、次の場合に何が起こるかを理解します。 VirtualBox にゲスト追加機能をインストールできません。 VirtualBox にゲスト追加機能をインストールできない Virtua にインストールできない場合

Baidu Netdisk は正常にダウンロードされたものの、インストールできない場合はどうすればよいですか? Baidu Netdisk は正常にダウンロードされたものの、インストールできない場合はどうすればよいですか? Mar 13, 2024 pm 10:22 PM

Baidu Netdisk のインストール ファイルを正常にダウンロードしたにもかかわらず、正常にインストールできない場合は、ソフトウェア ファイルの整合性にエラーがあるか、残っているファイルとレジストリ エントリに問題がある可能性があります。 Baidu Netdisk はダウンロードできましたが、インストールできない問題の分析を紹介します。 Baidu Netdisk は正常にダウンロードされたがインストールできない問題の分析 1. インストール ファイルの整合性を確認します。ダウンロードしたインストール ファイルが完全で、破損していないことを確認します。再度ダウンロードするか、別の信頼できるソースからインストール ファイルをダウンロードしてみてください。 2. ウイルス対策ソフトウェアとファイアウォールをオフにする: ウイルス対策ソフトウェアやファイアウォール プログラムによっては、インストール プログラムが正常に実行されない場合があります。ウイルス対策ソフトウェアとファイアウォールを無効にするか終了してから、インストールを再実行してください。

Android アプリを Linux にインストールするにはどうすればよいですか? Android アプリを Linux にインストールするにはどうすればよいですか? Mar 19, 2024 am 11:15 AM

Linux への Android アプリケーションのインストールは、多くのユーザーにとって常に懸念事項であり、特に Android アプリケーションを使用したい Linux ユーザーにとって、Android アプリケーションを Linux システムにインストールする方法をマスターすることは非常に重要です。 Linux 上で Android アプリケーションを直接実行するのは Android プラットフォームほど簡単ではありませんが、エミュレータやサードパーティのツールを使用すれば、Linux 上で Android アプリケーションを快適に楽しむことができます。ここでは、Linux システムに Android アプリケーションをインストールする方法を紹介します。

Ubuntu 24.04 に Podman をインストールする方法 Ubuntu 24.04 に Podman をインストールする方法 Mar 22, 2024 am 11:26 AM

Docker を使用したことがある場合は、デーモン、コンテナー、およびそれらの機能を理解する必要があります。デーモンは、コンテナがシステムですでに使用されているときにバックグラウンドで実行されるサービスです。 Podman は、Docker などのデーモンに依存せずにコンテナーを管理および作成するための無料の管理ツールです。したがって、長期的なバックエンド サービスを必要とせずにコンテナーを管理できるという利点があります。さらに、Podman を使用するにはルートレベルの権限は必要ありません。このガイドでは、Ubuntu24 に Podman をインストールする方法について詳しく説明します。システムを更新するには、まずシステムを更新し、Ubuntu24 のターミナル シェルを開く必要があります。インストールプロセスとアップグレードプロセスの両方で、コマンドラインを使用する必要があります。シンプルな

Ubuntu 24.04 に Ubuntu Notes アプリをインストールして実行する方法 Ubuntu 24.04 に Ubuntu Notes アプリをインストールして実行する方法 Mar 22, 2024 pm 04:40 PM

高校で勉強しているときに、同じクラスの他の生徒よりも多くのメモを取る、非常に明確で正確なメモを取る生徒もいます。メモをとることが趣味である人もいますが、重要なことについての小さな情報をすぐに忘れてしまうため、メモをとることが必需品である人もいます。 Microsoft の NTFS アプリケーションは、通常の講義以外にも重要なメモを保存したい学生にとって特に役立ちます。この記事では、Ubuntu24へのUbuntuアプリケーションのインストールについて説明します。 Ubuntu システムの更新 Ubuntu インストーラーをインストールする前に、Ubuntu24 では、新しく構成されたシステムが更新されていることを確認する必要があります。 Ubuntu システムでは最も有名な「a」を使用できます

Win7 コンピューターに Go 言語をインストールする詳細な手順 Win7 コンピューターに Go 言語をインストールする詳細な手順 Mar 27, 2024 pm 02:00 PM

Win7 コンピュータに Go 言語をインストールする詳細な手順 Go (Golang とも呼ばれます) は、Google によって開発されたオープン ソース プログラミング言語です。シンプルで効率的で、優れた同時実行パフォーマンスを備えています。クラウド サービス、ネットワーク アプリケーション、およびアプリケーションの開発に適しています。バックエンド システムです。 Win7 コンピューターに Go 言語をインストールすると、その言語をすぐに使い始めて、Go プログラムの作成を開始できるようになります。以下では、Win7 コンピューターに Go 言語をインストールする手順を詳しく紹介し、具体的なコード例を添付します。ステップ 1: Go 言語インストール パッケージをダウンロードし、Go 公式 Web サイトにアクセスします。

Dreamweaver CMS ステーションのグループ練習の共有 Dreamweaver CMS ステーションのグループ練習の共有 Mar 18, 2024 am 10:18 AM

Dream Weaver CMS Station グループ実践共有 近年、インターネットの急速な発展に伴い、Webサイト構築の重要性がますます高まっています。複数の Web サイトを構築する場合、サイト グループ テクノロジは非常に効果的な方法となっています。数多くの Web サイト構築ツールの中でも、Dreamweaver CMS は、その柔軟性と使いやすさにより、多くの Web サイト愛好家にとって最初の選択肢となっています。この記事では、Dreamweaver CMS ステーション グループに関するいくつかの実践的な経験と、いくつかの具体的なコード例を共有し、ステーション グループ テクノロジを研究している読者に何らかの助けとなることを願っています。 1. Dreamweaver CMS ステーション グループとは何ですか?ドリームウィーバーCMS

See all articles