概要 この記事は、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ソースを構成する必要がある 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 を応援していただければ幸いです。 以下もご興味があるかもしれません:
|
<<: JavaScript ではおそらく switch 文を使う必要はない
>>: Nginx での Frp による https への強制リダイレクト設定の詳細な説明
UI カットのプロセスでは、ページはヘッダー、コンテンツ、フッターの 3 つの部分で構成されることが...
UNIONの使用ほとんどの SQL クエリは、1 つ以上のテーブルからデータを返す単一の SELEC...
目次序文1. トリガーの概要2. トリガーの作成2.1 トリガー構文の作成2.2 コード例3. トリ...
${param}によって渡されるパラメータは、テーブル名やフィールド名を渡すなど、SQL文の一部と...
目次ビジネスロジックデータテーブル構造クエリロジックSQL スクリプトスクリプトの説明ビジネスロジッ...
序文小規模なプログラムの開発では、リストをスクロールして表示する必要性に遭遇することがよくあります。...
このステータス コードは、リクエストのステータスに関する情報を提供し、サイトとリクエストされたページ...
序文今日、注文データを同期した後、同僚は、合計注文金額とデータソースの合計金額に差があったため、LI...
目次要件: 進行中のアクティビティ データを照会する次のSQLクエリは、上記の4つの要件を満たし、タ...
vuex 永続状態基本原則: すべての vuex データをローカルストレージに保存し、ページが更新さ...
このチュートリアルでは、LinuxにMySQLをインストールする詳細な手順を参考までに紹介します。具...
目次1. スタック構造を理解する2. スタック構造のカプセル化3. 10進数を2進数に変換する1. ...
1. 時間差関数(TIMESTAMPDIFF、DATEDIFF) MySQLを使用して時間差を計算...
MySQL のインデックスの種類一般的に、次の 4 つのカテゴリに分類できます。通常のインデックス:...
目次序文1. 環境設定1.1 achartsをインストールする1.2 グローバル参照2. ドーナツチ...