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 で履歴レコードを表示し、タイムスタンプを追加するためのヒント

推薦する

Javascriptを使用して滑らかな曲線を生成する方法

目次序文ベジェ曲線の紹介二次ベジェ曲線3次ベジェ曲線ベジェ曲線計算機能フィッティングアルゴリズム付録...

nginx+php実行リクエストの動作原理の詳細な説明

PHPの仕組みまず、よく耳にするcgi、php-cgi、fastcgi、php-fpmの関係を理解し...

フロントエンドにアニメーション遷移効果を実装する方法

目次導入従来のトランジションアニメーションCSS トランジションアニメーションjsアニメーション従来...

jQueryはバウンドボールゲームを実装します

この記事では、バウンドボールゲームを実装するためのjQueryの具体的なコードを参考までに共有します...

Dockerコンテナにホストディレクトリへの書き込み権限がない場合の解決策

Docker コンテナを適用する場合、多くの場合、ホスト ディレクトリを Docker コンテナにマ...

VUEはタイムライン再生コンポーネントを実装します

この記事の例では、タイムライン再生コンポーネントを実装するためのVUEの具体的なコードを参考までに共...

ウェブサイトデザインの基礎知識:初心者の方はぜひお読みください

今では多くの人がウェブサイト作成に参加していますが、ウェブサイトはどのように作成すればよいのでしょう...

Vue の foreach 配列と js の traversal 配列の書き方の説明

Vue foreach配列を記述し、jsで配列をトラバースする方法シナリオVueでAxiosを使用し...

MySQL で B+ ツリー インデックスを使用する利点は何ですか?

この問題を理解する前に、まず MySQL テーブルのストレージ構造を確認し、次にバイナリ ツリー、マ...

Docker Swarmを使用してWordPressを構築する方法

原因かつて私は Vultr に WordPress を設定しましたが、よく知られている理由により、こ...

Nginxを使ってサーバー内で複数コンテナの共存を実現する方法

背景Tencent Linux クラウド ホストがあり、その上に Docker (ServiceDo...

CentOS8 で MySQL 8.0 をインストールしてデプロイする方法

MySQL 8 の公式バージョン 8.0.11 がリリースされました。公式発表によると、MySQL ...

Linux で開いているファイルが多すぎる問題を解決する方法

原因は、プロセスが特定の時点でシステム制限を超える数のファイルと通信リンクを開くことです。 システム...

Dockerfile を使用して SpringBoot プロジェクトをデプロイする方法

1. SpringBoootプロジェクトを作成し、jarパッケージにパッケージ化する2. Linux...

MySQLデータのバックアップ方法の選択と考え方

目次1. rsync、cpでファイルをコピーする2. xxxをoutfile構文に選択する3. 遅延...