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の使い方と注意点

推薦する

テーブルタグ(テーブル)詳細

<br />テーブルは、昔から誰もが使ってきたタグで、今も使われています。しかし、現在の...

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

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

DockerでRabbitMqの共通クラスタとミラークラスタを構築する詳細な操作

目次1. RabbitMqの動作環境を構築する1.検索を通じてrabbitmqイメージを照会する2....

SQL実装 LeetCode (176. 2番目に高い給与)

[LeetCode] 176. 2番目に高い給与従業員テーブルから 2 番目に高い給与を取得する ...

Web デザイン ヘルプ: Web フォント サイズ データ リファレンス

<br />内容はインターネットから転載したものです。どこから見つけたのか忘れてしまいま...

Linux で JDK 環境を構成する方法

1. 公式ウェブサイトにアクセスして、jdk-8u162-linux-x64.tar.gzなどのLi...

mysql5.7.14 解凍版インストールと設定方法 グラフィックチュートリアル (win10)

Win10はmysql5.7の解凍版をインストールします。参考までに、具体的な内容は次のとおりです...

Vue echarts は水平棒グラフを実現します

この記事では、水平棒グラフを実現するためのvue echartsの具体的なコードを参考までに共有しま...

aタグ内のテキストを非表示にして画像を表示するには?360モードレンダリングに対応

多くの場合、画像を表示する<a>タグのスタイルに遭遇しますが、タグ内にテキストがあり、そ...

HTMLページの読み込み速度を上げる方法

(1)HTTPリクエストを減らす。 (リソース ファイルをマージし、イメージ スプライトを使用します...

JavaScript 上級プログラミング: 変数とスコープ

目次1. 元の値と参照値2. インスタンス3. 範囲1. 元の値と参照値6 つの単純なデータ型の値は...

ブラウザが登録できるイベントの概要

HTML イベント リスト一般イベント: onClick HTML: マウスクリックイベント。主にオ...

JSの高階関数5つを共有する

目次1. はじめに2. 再帰3. コールバック関数3.1 匿名コールバック関数3.2 パラメータ付き...

Linux での MySQL 5.6.27 インストール チュートリアル

この記事では、LinuxでのMySQL 5.6.27のインストールチュートリアルを参考までに紹介しま...

Vueコンポーネントのカスタムイベントの詳細な説明

目次要約する <テンプレート> <div> 要素 <h2>{{メ...