Mysql5.6.36 スクリプトのコンパイル、インストール、初期化のチュートリアル

Mysql5.6.36 スクリプトのコンパイル、インストール、初期化のチュートリアル

概要

この記事は、centos7.3 上で mysql5.3.6 を自動的にコンパイルしてインストールし、その後の初期化操作を実行するためのスクリプトです。さっそく、スクリプトの説明に移りましょう。

インストール スクリプト install.py は次のとおりです。

#コーディング=utf-8
#!/usr/bin/python
os のインポート、コマンド
#変数 install_dir = '/data/mysql' を定義します
data_dir = '/data/mysql/data'
package_dir = '/data/mysql'
log_dir = '/data/mysql/logs'
現在のディレクトリ = os.getcwd()
cmake = 'cmake -DCMAKE_INSTALL_PREFIX=%s -DMYSQL_UNIX_ADDR=%s/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DMYSQL_DATADIR=%s -DMYSQL_TCP_PORT=3306' % (install_dir、install_dir、data_dir)

#依存パッケージをインストールします os.system('yum install gcc gcc-c++ gcc-g77 autoconf automake zlib* fiex* libxml* ncurses-devel libmcrypt* libtool-ltdl-devel* make cmake perl -y')
#インストール関数 def install_mysql():
 os.system('groupadd mysql') == 0の場合:
  「group mysql add success!」と出力します。
 それ以外:
  exit('グループmysqlの追加に失敗しました!')
 os.system('useradd -r -g mysql -s /bin/false mysql') == 0の場合:
  「user mysql add success!」と出力します。
 それ以外:
  exit('ユーザーmysqlの追加に失敗しました!')

 os.path.exists(install_dir)が存在しない場合は:
  os.system('mkdir -p %s' % インストールディレクトリ)
 os.path.exists(data_dir) が存在しない場合は:
  os.system('mkdir -p %s' % データディレクトリ)
 os.path.exists(package_dir) が存在しない場合は:
  os.system('mkdir -p %s' % package_dir)
 os.path.exists(log_dir) が存在しない場合は:
  os.system('mkdir -p %s' % log_dir)

 os.system('tar zxvf mysql-5.6.36.tar.gz') == 0の場合:
  「uncompress v 成功!」と印刷します。
 それ以外:
  exit('mysql-5.6.36.tar.gz の解凍に失敗しました!')
 os.chdir('mysql-5.6.36')
 os.system(cmake) == 0 の場合:
  「コンパイルが成功しました」と印刷する
 それ以外:
  exit('mysql のコンパイルに失敗しました')
 os.system('make && make install') == 0 の場合:
  「mysql のコンパイルとインストールに成功しました」と印刷します
 それ以外:
  exit('mysql のコンパイルとインストールに失敗しました')

 os.system('chown -R mysql:mysql %s' % install_dir) == 0 の場合:
  「インストールディレクトリの権限が正常に構成されました」と印刷します
 それ以外:
  出口()
 os.system('chown -R mysql:mysql %s' % data_dir)
 os.system('cd %s && touch mysql-error.log' % log_dir)
 os.system('chown -R mysql:mysql %s' % log_dir)
 os.chdir(インストールディレクトリ)

 os.system('./scripts/mysql_install_db --user=mysql --datadir=%s' % data_dir) == 0 の場合:
  「mysql の初期化が成功しました」と出力します
 それ以外:
  exit('mysql の初期化に失敗しました')
  
 os.system('cp support-files/mysql.server /etc/init.d/mysqld')
 os.system('mv /etc/my.cnf /etc/my.cnf.bak')
 os.chdir(現在のディレクトリ)
 os.system('cp my.cnf /etc/my.cnf')
 os.system('サービスmysqldの開始')
 os.system('chkconfig mysqld をオンにします')

インストール_mysql()

os.path.exists('/etc/profile') が存在する場合:
 os.system('cp /etc/profile /etc/profile.bak')
os.system('echo "PATH=%s/bin:%s/lib:$PATH" >> /etc/profile' % (install_dir, install_dir)) == 0 の場合:
 「/etc/profile の変更に成功しました」と印刷します
それ以外:
 出口()
os.system('echo "export PATH" >> /etc/profile') == 0の場合:
 「/etc/profile ファイルが正常に変更されました」と印刷します
それ以外:
 出口()

設定ファイル my.cnf

[mysqld]
ベースディレクトリ = /data/mysql
データディレクトリ = /data/mysql/data
一時ディレクトリ = /data/mysql
ソケット = /data/mysql/mysql.sock
外部ロックをスキップ
名前解決をスキップ
小文字テーブル名=1
自動増分オフセット = 1 
自動増分 = 2 
#サーバーID
########## バイナリログ ##########
log_bin = /data/mysql/logs/mysql-bin
binlog_format = 行
binlog_cache_size = 2M
ログ有効期限 = 7

########## エラー ログ ##########
log_error = /data/mysql/logs/mysql-error.log

########## 遅いログ ##########
遅いクエリログ = 1
slow_query_log_file = /data/mysql/logs/mysql-slow.log
長いクエリ時間 = 5

########## スレッドごとのバッファ ###########
最大接続数 = 1024
最大接続エラー数 = 1000
キーバッファサイズ = 64M
最大許容パケット = 128M
テーブルオープンキャッシュ = 6144
テーブル定義キャッシュ = 4096
ソートバッファサイズ = 512K
読み取りバッファサイズ = 512K
結合バッファサイズ = 512K
tmp_table_size = 64M
最大ヒープテーブルサイズ = 64M
スレッドキャッシュサイズ = 64
スレッド同時実行数 = 32
バルク挿入バッファサイズ = 64M

## ...
innodb_buffer_pool_size = 45G
innodb_log_file_size = 500M
innodb_log_buffer_size = 64M
innodb_flush_log_at_trx_commit = 2
innodb_file_per_table = 1
innodb_file_io_threads = 4
innodb_flush_method = O_DIRECT
innodb_thread_concurrency = 0
innodb_追加メモリプールサイズ = 16M

[mysqlホットコピー]
対話タイムアウト
[mysqld_safe]
オープンファイル制限 = 65535

方向:

1. オペレーティングシステムはyumソースを構成する必要がある
2. オペレーティングシステムのバージョン: centos7.3
3. install.py my.cnfとmysqlインストールパッケージをフォルダに入れる

MySQLインストールパッケージのダウンロードアドレス: リンク: https://pan.baidu.com/s/1pKHbFlh パスワード: tx9b

初期化

コンパイルされインストールされたmysql5.6.36にはデフォルトでパスワードがないので、コマンドラインでmysqlを直接入力してログインし、次のSQL文を実行します。

-- データを初期化するにはmysqlを使用します。
ユーザーを更新します。set password=PASSWORD("Abcd123") where user='root';
「Abcd123」で識別される weihu@"%" に *.* のすべての権限を付与します。
mysql.user から user = '' を削除します。
権限のフラッシュ;
-- デモ データベースを作成します。 CREATE DATABASE `demo` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
データベースを表示します。

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • MySQL 5.6.36 Windows x64 バージョンのインストールチュートリアルの詳細
  • MySql 5.6.36 64 ビット グリーン バージョンのインストール グラフィック チュートリアル

<<:  JavaScript ではおそらく switch 文を使う必要はない

>>:  Nginx での Frp による https への強制リダイレクト設定の詳細な説明

推薦する

MySQLの主キーと外部キーの使用と説明を簡単に説明します

目次1. 外部キー制約外部キーとは何ですか?外部キーを使用する条件:外部キーの定義構文は次のとおりで...

Vue + OpenLayers クイックスタートチュートリアル

Openlayers は、WebGIS クライアント向けのモジュール式で高性能かつ機能豊富な Jav...

SQL GROUP BYの詳細な説明と簡単な例

GROUP BY ステートメントは、Aggregate 関数と組み合わせて使用​​され、1 つ以上の...

Docker-compose を使用して GitLab をデプロイする方法

Docker-compose は GitLab をデプロイします1. Dockerをインストールする...

MySQL 権限制御の詳細な説明

目次mysql 権限制御権限システムテーブル変更後にMySQLの権限を有効にする方法権限の付与と取り...

React 入門レベルの詳細なメモ

目次1. Reactの基本的な理解1. はじめに2. Reactの特徴3. Reactが効率的な理由...

DockerにTensorFlow環境を素早くインストールする方法

Docker に TensorFlow 環境をすばやくインストールし、TensorFlow を使用し...

HTML で余分なテキストを省略記号に変換する方法

HTML で余分なテキストを省略記号として表示したい場合は、いくつかの方法があります。 1行テキスト...

CSSスタイルは、テキストが長すぎる場合に省略記号を表示する問題を解決します

1. CSSスタイルは、テキストが長すぎる場合に省略記号を表示する問題を解決します1. 一般的なスタ...

枠線や境界線のない iframe を使用するための完全ガイド (実践経験のまとめ)

<iframe src=”ページのURL” width=”100″ height=”30″ f...

Linux zabbix エージェントの展開と設定方法の詳細な説明

1. web01にzabbix-agentをインストールするZabbix ウェアハウスをデプロイする...

Nginx 構成の実装 https

目次1: https証明書を準備する2: nginx sslモジュールを準備する3: SSL証明書を...

共通要素のデフォルトのマージンとパディング値に関する議論

今日は、さまざまなブラウザでのデフォルト要素のマージン値が何であるかという問題について説明しました。...

MySql マスタースレーブレプリケーションの実装原理と構成

データベースの読み取りと書き込みの分離は、トラフィック量の多い大規模システムやインターネット アプリ...

虫眼鏡効果を実現するJavaScript

この記事では、虫眼鏡効果を実現するためのJavaScriptの具体的なコードを参考までに紹介します。...