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

推薦する

オンデマンドで Vue コンポーネントを自動的にインポートする方法

目次グローバル登録部分登録ローカル自動登録さまざまなソリューションの比較コンポーネント名について参照...

jsはaudioContextを通じて3Dサウンド効果を実現します

この記事では、audioContextを介して3Dサウンド効果を実現するためのjsの具体的なコードを...

WebpackはTypeScriptコードをパッケージ化するためのスキャフォールディングを構築します

フォルダを作成するディレクトリ構造: dabaots npm init -yを初期化して packa...

Apache Web サーバーを使用して 2 つ以上のサイトを構成する方法

人気があり強力な Apache Web サーバーで 2 つ以上のサイトをホストする方法。前回の記事で...

Vue のプラグインとコンポーネントの違いと使い方のまとめ

このチュートリアルの動作環境: Windows 7 システム、vue 2.9.6 バージョン、DEL...

MySQLの暗黙的な変換について話す

作業の過程で、暗黙的な変換が発生するケースが数多くあります。暗黙的な変換は、クエリの速度低下を引き起...

MySQL slow_log テーブルを InnoDB エンジンに変更することはできません。詳細な説明

背景mysql.slow_log からスロー クエリ ログを取得するのは遅く、テーブルは csv テ...

Win Server 2019 サーバーの IIS 構成と Web サイトの簡単な公開

1.まずサーバーにリモート接続する2. サーバーマネージャーを開く 3役割と機能の追加 4サーバープ...

Vueはカスタムツリーコンポーネントを再帰的に実装します

この記事では、カスタムツリーコンポーネントを再帰的に実装するVueの具体的なコードを参考までに共有し...

Vueプロジェクトでコンポーネントをカプセル化する簡単な手順

目次序文Toastコンポーネントをカプセル化する方法ユースケース具体的な実装要約する序文ビジネスが発...

Docker を使用して Nginx+Flask+Mongo アプリケーションをデプロイする

サーバーにはNginx、データベースサポートにはMongo、Python言語のWebフレームワークに...

MySQL初心者のための基本操作のまとめ

図書館運営クエリ1.SHOW DATABASE; ----すべてのデータベースを照会する2. SHO...

Vue でのルーティングガードの具体的な使用法

目次1. グローバルガード1.1 グローバルフロントガード1.2 グローバルポストルートガード1.3...

Vue3スタイルのCSS変数注入の実装

目次まとめ基本的な例モチベーションデザインの詳細コンパイルの詳細採用戦略練習するヒント適切なプロパテ...