Linux で cmake を使用して MySQL をコンパイルおよびインストールするための詳細なチュートリアル

Linux で cmake を使用して MySQL をコンパイルおよびインストールするための詳細なチュートリアル

1. cmakeをインストールする

1. cmakeの圧縮パッケージを解凍する

[root@mysql ツール]# tar -zvxf cmake-2.8.8.tar.gz
[root@mysqlツール]# ls
cmake-2.8.8 cmake-2.8.8.tar.gz mysql-5.5.16.tar.gz スクリプト

2. 分析

[root@mysql ツール]# cd cmake-2.8.8
[root@mysql cmake-2.8.8]# ./configure
---------------------------------------------
CMake 2.8.8、Copyright 2000-2009 Kitware, Inc.
GNUツールチェーンが見つかりました
このシステムのCコンパイラはgccです。
このシステムの C++ コンパイラは g++ です。
このシステムのMakefileプロセッサはgmakeです。
g++はGNUコンパイラです
g++ には std:: 名前空間に STL があります
g++にはANSIストリームがある
g++ には std:: 名前空間にストリームがあります

3. インストール

[root@mysql cmake-2.8.8]# echo $?
0
#戻り値が 0 の場合、実行は成功し、戻り値が 1 の場合、実行は失敗します。

[root@mysql cmake-2.8.8]# gmake && gmake インストール
ターゲット cmIML_test の依存関係をスキャンしています
[ 1%] C オブジェクトの構築 Utilities/KWIML/test/CMakeFiles/cmIML_test.dir/test.co
[ 1%] C オブジェクトの構築 Utilities/KWIML/test/CMakeFiles/cmIML_test.dir/test_ABI_C.co
[ 1%] C オブジェクトの構築 Utilities/KWIML/test/CMakeFiles/cmIML_test.dir/test_INT_C.co
[ 1%] C オブジェクトの構築 Utilities/KWIML/test/CMakeFiles/cmIML_test.dir/test_include_C.co
[ 2%] CXX オブジェクトの構築 Utilities/KWIML/test/CMakeFiles/cmIML_test.dir/test_ABI_CXX.cxx.o
[ 2%] CXX オブジェクトの構築 Utilities/KWIML/test/CMakeFiles/cmIML_test.dir/test_INT_CXX.cxx.o
[ 2%] CXX オブジェクトの構築 Utilities/KWIML/test/CMakeFiles/cmIML_test.dir/test_include_CXX.cxx.o

2. MySQLのインストールを開始する

1. まず、(ncurses-devel)依存パッケージをインストールする必要があります

[root@mysql cmake-2.8.8]# cd …
[root@mysqlツール]# yum -y install ncurses-devel
読み込まれたプラグイン: fastestmirror
キャッシュされたホストファイルからミラー速度をロードする

ベース: mirrors.zju.edu.cn
追加情報: centos.ustc.edu.cn
更新情報: mirrors.zju.edu.cn
依存関係の解決
–> トランザクションチェックを実行中
—> ツール ncurses-devel.x86_64 0:5.9-14.20130511.el7_4 がインストールされます
#############インストールが完了したら確認してください###########
[root@mysql ツール]# rpm -qa | grep ncurses-devel
ncurses-devel-5.9-14.20130511.el7_4.x86_64
[root@mysqlツール]#

2. mysqlの圧縮パッケージを解凍する

[root@mysqlツール]# tar -zvxf mysql-5.5.16.tar.gz
[root@mysqlツール]# ls
cmake-2.8.8 cmake-2.8.8.tar.gz mysql-5.5.16 mysql-5.5.16.tar.gz スクリプト
[root@mysqlツール]#

3. 仮想ユーザーを作成する

[root@mysqlツール]# useradd mysql -s /sbin/nologin -M
[root@mysqlツール]# id mysql
uid=1000(mysql) gid=1000(mysql) グループ=1000(mysql)
[root@mysqlツール]#

4. 構成分析

[root@mysqlツール]# cd mysql-5.5.16
[ルート@mysql mysql-5.5.16]#
[root@mysql mysql -5.5.16]#cmake_install_prefix =/usr/local/mysql -5.16 -dmysql_datadir =/usr/local/mysql -5.5.16/data -dmysql =/usr/usr/usr/usr/usr/usr efault_charset = utf8 -ddefault_collat​​ion = utf8_general_ci -dextra_charsets = gbk2312、utf8、ascii -denabled_local_infile = 1 -DWITHOUT_EXAMPLE_STORAGE_ENGINE = 1 -DWITHOUT_PARTITION_STORAGE_ENGINE = 1 -DWITH_FAST_MUTEXES = 1 -DWITH_ZLIB = BUNDLED -DENABLED_LOCAL_INFILE = 1 -DWITH_READLINE = 1 -DWITH_EMBUG = 0

5. インストール

[root@mysql mysql-5.5.16]# 作成 && インストール
ターゲットINFO_BINの依存関係をスキャンしています
[ 0%] ターゲットINFO_BINを構築しました
ターゲットINFO_SRCの依存関係をスキャンしています
[ 0%] ターゲットINFO_SRCを構築しました
ターゲット abi_check の依存関係をスキャンしています
[ 0%] ターゲットabi_checkを構築しました
ターゲット zlib の依存関係をスキャンしています

6. ソフトリンクを作成する

[root@mysql mysql-5.5.16]# ln -s /usr/local/mysql-5.5.16/ /usr/local/mysql
[root@mysql mysql-5.5.16]# 読み取りリンク /usr/local/mysql
mysql 5.5.16 の最新バージョンをダウンロード.
[ルート@mysql mysql-5.5.16]#

7. 環境を構成する

[root@mysql mysql-5.5.16]# cd …
[root@mysql tools]# echo 'export PATH=/usr/local/mysql/bin:$PATH' >>/etc/profile

[root@mysqlツール]# tail -1 /etc/profile
PATH=/usr/local/mysql/bin:$PATH をエクスポートします

[root@mysql tools]# ソース /etc/profile
[root@mysqlツール]# echo $PATH
/usr/local/mysql/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
[root@mysqlツール]#

8. コピー、表示、所有者の設定、および tmp 権限の追加

[root@mysql tools]# \cp mysql-5.5.16/support-files/my-small.cnf /etc/my.cnf
[root@mysql tools]# ll /usr/local/mysql/data/
合計 0
drwxr-xr-x 2 ルート ルート 20 5月 31 11:51 テスト
[root@mysql ツール]# chown -R mysql.mysql /usr/local/mysql/data/
[root@mysqlツール]# chmod -R 1777 /tmp/
[root@mysqlツール]#

9. データベースを初期化する

[root@mysql tools]# cd /usr/local/mysql/scripts/
[root@mysql スクリプト]# ./mysql_install_db --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/ --user=mysql
MySQL システム テーブルをインストールしています…
わかりました
ヘルプ テーブルに入力しています…
わかりました

注: 2 つの OK が表示された場合は成功を示します

10. スタートアップを設定する

[root@mysql スクリプト]# cd /roottools/mysql-5.5.16
[root@mysql mysql-5.5.16]# cp サポートファイル/mysql.server /etc/init.d/mysqld
[root@mysql mysql-5.5.16]# chmod -R 755 /etc/init.d/mysqld
[root@mysql mysql-5.5.16]# chkconfig --add mysqld
[root@mysql mysql-5.5.16]# chkconfig mysqld をオンにする
[root@mysql mysql-5.5.16]# chkconfig --list mysqld

注: この出力にはSysVサービスのみが表示され、ネイティブは含まれません。
systemdサービス。SysV構成データはネイティブによって上書きされる可能性があります
systemd の設定。

systemd サービスを一覧表示するには、「systemctl list-unit-files」を使用します。
特定のターゲットで有効になっているサービスを確認するには
'systemctl list-dependencies [ターゲット]'。
mysqld 0:オフ 1:オフ 2:オン 3:オン 4:オン 5:オン 6:オフ
[ルート@mysql mysql-5.5.16]#

11. MySQLデータベースを起動する

[root@mysql mysql-5.5.16]# /etc/init.d/mysqld を起動します
MySQL を起動しています… 成功しました!
[ルート@mysql mysql-5.5.16]#

12. ポートプロセスを確認する

[root@mysql mysql-5.5.16]# lsof -i:3306
コマンド PID ユーザー FD タイプ デバイス サイズ/オフ ノード名
mysqld 51146 mysql 10u IPv4 82600 0t0 TCP :mysql (LISTEN)
[root@mysql mysql-5.5.16]# netstat -lnutp|grep 3306
tcp 0 0 0.0.0.0:3306 0.0.0.0: LISTEN 51146/mysqld
[root@mysql mysql-5.5.16]# ps -ef|grep 3306
mysql 51146 50900 0 14:13 pts/1 00:00:00 /usr/local/mysql-5.5.16/bin/mysqld --basedir=/usr/local/mysql-5.5.16 --datadir=/usr/local/mysql-5.5.16/data --plugin-dir=/usr/local/mysql-5.5.16/lib/plugin --user=mysql --log-error=/usr/local/mysql-5.5.16/data/mysql.err --pid-file=/usr/local/mysql-5.5.16/data/mysql.pid --socket=/usr/local/mysql-5.5.16/tmp/mysql.sock --port=3306
ルート 51170 16240 0 14:14 pts/1 00:00:00 grep --color=auto 3306
[ルート@mysql mysql-5.5.16]#

注: 再初期化する場合は、データディレクトリのライブラリファイルの保存場所を削除するか、新しいライブラリファイルの保存場所を作成して再初期化し、2つのOKプロンプトが表示されれば成功です。

データベースに入る

[root@localhost ~]# mysql

すべてのユーザーを表示

mysql> mysqlを使用する
mysql> テーブルを表示します。
mysql> ユーザーからユーザー、ホストを選択します。

システムのデフォルトを削除する

user='' の mysql.user から削除します。
ホスト='::1' の mysql.user から削除します。
mysql.user からユーザー、ホストを選択します。

これら2つだけ残す

mysql> mysql.user からユーザー、ホストを選択します。
±-----±----------+
| ユーザー | ホスト |
±-----±----------+
| ルート | 127.0.0.1 |
| ルート | ローカルホスト |
±-----±----------+
セット内の 2 行 (0.00 秒)

マイSQL>
#########################

追加の承認された管理者ユーザーの追加

grant all privileges on . to system@'192.168.%' identified by 'system' with grant option;

文字セットパス

vi /etc/locale.conf #centos7

mysql パスワード作成

/application/mysql//bin/mysqladmin -u ルートパスワード '123456'

mysql パスワード変更

/application/mysql//bin/mysqladmin -u root -p123456 パスワード '112233'

要約する

上記は、Linux で cmake を使用して MySQL をコンパイルおよびインストールする方法に関する詳細なチュートリアルです。お役に立てれば幸いです。ご質問がある場合は、メッセージを残していただければ、すぐに返信いたします。また、123WORDPRESS.COM ウェブサイトをサポートしてくださっている皆様にも感謝申し上げます。
この記事が役に立ったと思われた方は、ぜひ転載していただき、出典を明記してください。ありがとうございます!

以下もご興味があるかもしれません:
  • MySQLプリコンパイル機能の詳細な説明
  • mysqliの前処理コンパイルの詳細な理解
  • ソースコードから MySQL 8.0.20 をコンパイルしてインストールする詳細なチュートリアル
  • CentOS8 デプロイメント LNMP 環境で mysql8.0.29 をコンパイルしてインストールする方法の詳細なチュートリアル
  • 1 つの記事で MySQL のプリコンパイルを理解する

<<:  MySQL アーキテクチャのナレッジポイントの概要

>>:  React forwardRefの使い方と注意点

推薦する

thead、tfoot、tbodyを使用して表を作成します

これらの 3 つのタグを間違った方法で使用して、タイトルを表に沿わせたり、tbody の高さを固定し...

WeChatアプレットで数字当てゲームを実装する実際のプロセス

目次機能紹介レンダリング1. ホームページレンダリング用のコード(index03) 2. ゲーム開始...

resizeを使用して画像切り替えプレビュー機能を実装する方法

要点CSS resize プロパティを使用すると、要素のサイズ変更可能性を制御できます。サイズ変更を...

この記事ではCSSの組み合わせセレクターの使い方を説明します

CSS 組み合わせセレクターには、単純なセレクターのさまざまな組み合わせが含まれます。 CSS3 に...

Vue の v-model ディレクティブと .sync 修飾子の違いの詳細な説明

目次vモデル.sync微妙な違い機能シナリオを要約します。 vモデル <!--親コンポーネント...

Vue3 でタイマーコンポーネントをカプセル化する方法

背景一部のショッピング モールの Web ページで商品の詳細を開くと、購入数量を選択するためのカウン...

最適なウェブページ幅とその互換性のある実装方法

1. Web ページをデザインするときに、幅を決定するのは非常に面倒な作業です。 jb51.net ...

Vue Element フロントエンドアプリケーション開発 従来の Element インターフェースコンポーネント

目次1. リストインターフェースとその他のモジュールの表示処理2. 従来のインターフェースコンポーネ...

サーバー同時実行数の推定式と計算方法

最近、サーバーのストレステストを再度行う必要が出てきました。ここでは、最近学んだ見積もりスキームと見...

VMware ワークステーション 12 に Ubuntu 14.04 (64 ビット) をインストール

1. インストール環境コンピュータモデル: Lenovo Y471a (i5) ノートパソコンシステ...

Vue カプセル化に基づくプルダウン更新およびプルアップ読み込みコンポーネント

VueとネイティブJavaScriptカプセル化に基づいて、プルダウンリフレッシュとプルアップロード...

CentOS7 で docker を使用して Apollo 構成センターをデプロイする実装

Apollo オープンソース アドレス: https://github.com/ctripcorp/...

VMware、nmap、burpsuite インストール チュートリアル

目次VMware バープスイート1. 仮想マシンイメージとVMwareのインストールと使用2. 仮想...

私が遭遇したIE8の互換性に関する注意事項

1. IE8 の getElementById は id のみをサポートし、name はサポートしま...

タブ切り替えを実装するための HTML サンプル コード

タブ切り替えもプロジェクトではよく使われる技術です。一般的にタブ切り替えはjsやjqを使って実装され...