Linux の Centos7 に Mysql5.7.19 をインストールする詳細なチュートリアル

Linux の Centos7 に Mysql5.7.19 をインストールする詳細なチュートリアル

1. MySQLをダウンロードする

URL: https://dev.mysql.com/downloads/mysql/

2. ソースパッケージを選択し、クリックして一般バージョンをダウンロードします

ログインせずにダウンロードするだけ

3. 解凍してコンパイルする

tar -zxvf mysql-5.7.19.tar.gz
cd mysql-5.7.19.tar.gz

データディレクトリを作成しますmkdir -p /data/mysql

まず cmake でコンパイルします。そのようなコマンドがない場合は、まず yum でインストールする必要があります。

cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql/ #これはコンパイルとインストール後の mysql ディレクトリの場所です。自分で変更できます -DMYSQL_DATADIR=/data/mysql/ #これはデータ ディレクトリを指します -DMYSQL_UNIX_ADDR=/tmp/mysql.sock
-DSYSCONFDIR=/usr/local/mysql-5.7/conf/
-DWITH_MYISAM_STORAGE_ENGINE=1
-DWITH_INNOBASE_STORAGE_ENGINE=1
-DWITH_BLACKHOLE_STORAGE_ENGINE=1
-DWITH_ARCHIVE_STORAGE_ENGINE=1
-DWITH_MEMORY_STORAGE_ENGINE=1
-DWITH_READLINE=1
-DMYSQL_TCP_PORT=3306
-DENABLED_LOCAL_INFILE=1
-DDEFAULT_CHARSET=utf8
-DDEFAULT_COLLATION=utf8_general_ci
-DMYSQL_USER=mysql
-DWITH_SSL=システム
-DWITH_ZLIB=system -DDOWNLOAD_BOOST=1 -DWITH_BOOST=/usr/local/boost #MySQL 5.7.5以降では、Boostライブラリをインストールする必要があります

コンパイル後、 make && make installしばらく待つとインストールが完了します。

インストールが完了すると、/usr/local/ パスの下に mysql ディレクトリが作成されます。このディレクトリは、私がコンパイルしてインストールしたパスです。

DCMAKE_INSTALL_PREFIX=/usr/local/mysql/

通常、セキュリティ上の理由から、mysqlユーザーとmysqlグループを作成し、次のコマンドを実行します。

#ユーザーグループを追加 groupadd mysql
#ユーザー mysql をユーザーグループ mysql に追加する
ユーザー追加
-g mysql mysql

MySQLの権限を付与する

chown -R mysql:mysql mysql
#ユーザーグループを追加 groupadd mysql
#ユーザー mysql をユーザーグループ mysql に追加する
ユーザー追加 -g mysql mysql

MySQLの権限を付与する

chown -R mysql:mysql mysql

4. 次に、起動方向を設定し、起動時に開始するように設定します。

/ect/my.cnfを設定します。my.cnf がない場合は、自分で作成できます。これは参考用です。

[クライアント]
オルト = 3306
ソケット = /tmp/mysql.sock
デフォルトの文字セット = utf8mb4
[mysqld]
オルト = 3306
ソケット = /tmp/mysql.sock
asedir = /usr/local/mysql
データディレクトリ = /data/mysql
id ファイル = /data/mysql/mysql.pid
ユーザー = mysql
インデックスアドレス = 0.0.0.0
サーバーID = 1
init-connect = '名前を設定する utf8mb4'
文字セットサーバー = utf8mb4
#名前解決をスキップ
#ネットワークをスキップ
ack_log = 300
最大接続数 = 1000
最大接続エラー数 = 6000
オープンファイル制限 = 65535
テーブルオープンキャッシュ = 128
最大許容パケット = 4M
インログキャッシュサイズ = 1M
最大ヒープテーブルサイズ = 8M
tmp_table_size = 16M
読み取りバッファサイズ = 2M
読み取りバッファサイズ = 8M
ort_buffer_size = 8M
結合バッファサイズ = 8M
キーバッファサイズ = 4M
スレッドキャッシュサイズ = 8
クエリキャッシュタイプ = 1
クエリキャッシュサイズ = 8M
クエリキャッシュ制限 = 2M
ft_min_word_len = 4
log_bin = mysql-bi
inlog_format = 混合
有効期限 = 30
log_error = /data/mysql/mysql-error.log
低クエリログ = 1
長いクエリ時間 = 1
low_query_log_file = /data/mysql/mysql-slow.log
パフォーマンススキーマ = 0
タイムスタンプの明示的なデフォルト
#小文字のテーブル名 = 1
キップ外部ロック
デフォルトストレージエンジン = InnoDB
#デフォルトのストレージエンジン = MyISAM
innodb_file_per_table = 1
innodb_open_files = 500
innodb_buffer_pool_size = 64M
innodb_write_io_threads = 4
innodb_read_io_threads = 4
innodb_thread_concurrency = 0
innodb_purge_threads = 1
innodb_flush_log_at_trx_commit = 2
innodb_log_buffer_size = 2M
innodb_log_file_size = 32M
innodb_log_files_in_group = 3
innodb_max_dirty_pages_pct = 90
innodb_lock_wait_timeout = 120
ulk_insert_buffer_size = 8M
myisam_sort_buffer_size = 8M
myisam_max_sort_file_size = 10G
myisam_repair_threads = 1
インタラクティブタイムアウト = 28800
待機タイムアウト = 28800
[mysqlダンプ]
素早い
最大許容パケット = 16M
[マイサムチク]
キーバッファサイズ = 8M
ort_buffer_size = 8M
読み取りバッファ = 4M
書き込みバッファ = 4M

次に、初期化データベース ステートメントを実行します。

mysql_install_db推奨されなくなったことに注意してください。インスタンスの初期化を完了するには、mysqld –initialize を使用することをお勧めします。

/usr/local/mysql/bin/mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql

この手順は非常に重要です。初期化せずにデータベースを直接起動すると、エラーが報告されます。

エラー! サーバーは PID ファイル (/data/mysql/mysql.pid) を更新せずに終了しました。

初期化が失敗するか、次のエラーが報告される場合は、mysql ディレクトリの下にデータがあるため、初期化の実行が終了するため、まず /data/mysql ディレクトリをクリアする必要があります。

2017-08-29T13:39:47.241469Z 0 [エラー] --initialize が指定されましたが、データ ディレクトリにファイルがあります。中止します。2017-08-29T13:39:47.241536Z 0 [エラー] 中止します

クリアしてから再度初期化する

/usr/local/mysql/bin/mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql

次にmysqlを起動します

サービスmysqldの開始

ログインテスト

/usr/local/mysql/bin/mysql -uroot -

初期化--initialize-insecureにはデフォルトでパスワードがないため、パスワードを入力する必要はなく、確認するだけです。

ログインエラーが発生した場合

エラー 2002 (HY000): ソケット '/tmp/mysql.sock' 経由でローカル MySQL サーバーに接続できません (2)

データベースが正常に起動したかどうかを確認します。プロセスが開始されたかどうかを確認するにはps -ef | grep mysqlを実行します。

空のパスワードは安全ではないので、パスワードを設定する必要があります。次のコマンドの「root」はパスワード設定領域です。私のパスワードはrootに設定されています。自分で変更することができます。

[root@localhost local]# /usr/local/mysql/bin/mysql -e "grant option を使用して、\"root\" で識別される root@'127.0.0.1' に *.* のすべての権限を付与します。"[root@localhost local]# /usr/local/mysql/bin/mysql -e "grant option を使用して、\"root\" で識別される root@'localhost' に *.* のすべての権限を付与します。"

次に、再度ログインしてパスワードの変更をテストし、成功すれば完了です。

要約する

上記は、Linux の Centos7 に Mysql5.7.19 をインストールする方法についての詳細なチュートリアルです。お役に立てれば幸いです。ご質問がある場合は、メッセージを残してください。すぐに返信いたします。また、123WORDPRESS.COM ウェブサイトをサポートしてくださっている皆様にも感謝申し上げます。

以下もご興味があるかもしれません:
  • CentOS7 64 ビットでの MySQL 5.7 のインストールと設定のチュートリアル
  • CentOS 7にMySQLをインストールする詳細な手順
  • CentOS7にmysql5.7の解凍バージョンをインストールする方法についての簡潔なチュートリアル
  • Centos7 のインストールと Mysql5.7 の設定
  • CentOS6.9 での MySQL 5.7.17 のインストールと設定のチュートリアル
  • Centos7にmysql5.6をインストールする方法
  • Centos7 インストール mysql5.6.29 シェル スクリプト
  • CentOS 7 に MySQL をインストールし、自動的に起動するように設定する
  • CentOS7にMySQL 8.0.26をインストールする手順

<<:  CocosCreatorのホットアップデートの包括的な説明

>>:  Linux で履歴レコードを表示し、タイムスタンプを追加するためのヒント

推薦する

Alibaba Cloud イメージリポジトリを使用して外部 Docker イメージを構築する方法の詳細な説明

Alibaba Cloud Image Repositoryを使用して外部イメージをダウンロードする...

HTMLを使用してシンプルなメールテンプレートを作成する

今日は、「ローテク」の問題について書きたいと思います。ちなみに、私は JavaScript Week...

ウェブページ HTML 順序付きリスト ol と順序なしリスト ul

データを整理するためのリストWeb ページの表示を制御する多数の HTML タグを学習した後、読者は...

MySQL ステートメントに一重引用符またはバックスラッシュを含む値を挿入する方法

序文この記事では主に、シングルクォートやバックスラッシュを含む値を挿入するMySQLステートメントに...

<td></td> タグの境界線スタイルがブラウザに表示されない問題の解決方法

質問: 360ブラウザの互換モードなど、一部のブラウザでは、 <td style="...

ウェブページ要素の完全な分析

相対的な長さの単位それら説明: 相対的な長さの単位。現在のオブジェクト内のテキストのフォント サイズ...

HTML テキストフォーマットの簡単な例 (詳細な説明)

1. テキストの書式設定: この例では、HTML ファイル内のテキストを書式設定する方法を示します...

JSでES6クラスの使い方をすぐにマスター

1. どのように構築しますか? es5 でクラスを構築する一般的な方法を確認しましょう。まず、es5...

ネイティブ JS オブジェクト指向タイピング ゲーム

この記事では、JSオブジェクト指向タイピングゲームの具体的なコードを参考までに紹介します。具体的な内...

base target="" はリンクのターゲットオープンフレームを制御します

<base target=_blank> は、基本リンクのターゲット フレームを新しいペ...

mysql5.7.22 ダウンロードプロセス図

1. 公式ウェブサイト www.mysql.com にアクセスし、ダウンロードを選択します。 2. ...

ウェブフォーム送信方法の詳細な概要

まず、フォームを送信するいくつかの方法を見てみましょう。 1. <!--一般的な送信ボタン--...

MySQL 数十億のデータのインポート、エクスポート、移行に関するメモ

最近はMySQLのメモをたくさん取っていますが、それは主に会社のOracleが比較的安定していてメン...

sed コマンドを使用して文字列を置換する Linux チュートリアル

文字列を置き換えるには、次の形式を使用する必要があります。 $ sed s/置換対象文字列/置換文字...