https://www.cnblogs.com/get-rich/articles/10623208.html
entOS MySQLデータベースソフトウェアの7バージョンがプログラムのデフォルトリストから削除され、代わりにMariaDBを使用するのでは、MySQLのMariaDBデータベース管理システムは、GPLライセンスの下で、主にメンテナンスにおけるオープンソースコミュニティにより、ブランチです。このブランチの開発のための一つの理由は、次のとおりです。MySQLのOracleの買収後、このリスクを回避するために分岐コミュニティーので仕方MySQLのクローズドソースへの潜在的なリスクがあります。MariaDBの目的は、それが簡単にMySQLの代わりになることができるように、APIやコマンドラインを含む、MySQLのと完全に互換性があります。
方法:インストールはyumをmysqlので行われます
私はちょうどあなたが正常にMySQLを使用することができますmariadbデータベースを起動する必要があるので、私は、MariaDBのCentOS7.4のデフォルトのインストールをインストールしているので
(安装mariadb:yumのインストールmariadb-サーバmariadb)
systemctlスタートmariadb
mariadbデータベース関連のコマンドは次のとおりです。
systemctlスタートmariadb#開始MariaDB
systemctl STOPのmariadbの#ストップMariaDB
systemctl mariadb再起動#再起動MariaDB
systemctl mariadb#セットのブートを有効にします
インストールmariadbが表示された後MariaDB [(なし)]>、少し困難に思えるかもしれません
我々は次に、MySQLを再インストール
1.アンインストールmariadb
yumのリストインストール| grepをmariadb#チェックするかどうかインストールmariadb
yumを-y削除mariadb *#アンインストール
2、ダウンロードおよびYUM mysqlのソースをインストールします
YUMソースをダウンロードMYSQL:wgetの-P /ホーム/ lisonglin http://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm(wgetコマンド:HTTP://man.linuxdeを。 NET / wgetの)
私たちが/ homeにダウンロードされているので、/ディレクトリlisonglin、そのディレクトリに非常に最初の変更:CD /ホーム/ lisonglin
MySQLのインストール、ソースYUMます。rpm -ivh mysql57-コミュニティリリースel7-11.noarch.rpm
YUMソースは、インストールが成功したかどうかをチェックMYSQL:YUM repolistが有効| grepの "mysqlの* - コミュニティ* .."
参照は、図に示す正常にインストールされたことを表しています。
MySQLを有効にするバージョンを選択
MySQLのバージョンを確認し、実行します。yumをrepolistすべて| grepのmysqlの
5.5、5.6,8.0バージョンはデフォルトでは無効になって参照してください。
あなたは、同様の声明または無効に特定のバージョンに従うことによって開始することができます
yumを-config設定マネージャ--enable mysql57-コミュニティ
yumを-config設定マネージャ--disable mysql56-コミュニティ
またはvimの/etc/yum.repos.d/mysql-community.repoファイルを変更することで、デフォルトでインストールされたMySQLバージョンを変更。そのようなバージョン5.6をインストールするために、ソースが5.7 = 1変化= 0を有効に有効化され、その後、5.6ソースは1 =有効= 0を有効に変更することができます。
注:いずれかの時点で、1つのバージョンのみが有効になっています。
MySQLは現在のバージョンを表示するために有効:YUM repolistは有効| grepのmysqlの
3、インストールMySQLの
YUMのmysql-コミュニティサーバーをインストールします
MySQLのデータベースのインストールの代わりに、成功したとき、インストールプロセスがその上に入力「Y」となっている、次の結果が発生します
4、試験
systemctlスタートのmysqld:mysqlのサービスを開始
mysqlの-urootやMySQL:MySQLの(私はすぐにインストール後にパスワードをしないでください)にログイン
エラーが発生した場合:ERROR 1045(28000):アクセスはユーザのルート '@ 'localhost' のために拒否された(パスワードを使用して:NO)
パスワードを使用する必要があるので、インストール後のMySQLのrootユーザーは、デフォルトのパスワードを生成します。
mysqlの-uroot -p myqlをログに記録するデフォルトのパスワードを入力してEnter。
:デフォルトのパスワードを表示する方法では、あなたはを参照することができCentOS7.4にはデフォルトのパスワードを表示する方法Mysql5.7をインストールした後、
コマンドで使用することができます。
mysqldの#開始mysqldを開始systemctl
systemctl停止のmysqld#停止mysqldを
systemctl再起動mysqldを再起動#mysqldを
mysqldの#設定ブートを有効systemctl
systemctlステータスのmysqld#ビューMySQLサーバのステータス
5、MySQL設定
パスワード
mysqladminは-u rootパスワードの新しいパスワード "
或 'ルート' について@ 'localhost' のセットパスワード=パスワード( '123456');
MySQLの-uルート-pコマンドでmysqlを使用して、当社のデータベースにログオンするためのパスワードを設定した後
ファイアウォールの設定
リモートアクセスのMySQL、デフォルトのポート番号3306を開く必要があります。
ファイアウォール-CMD --permanent --zone =公共--add-ポート= 3306 / TCP
ファイアウォール-CMD --permanent --zone =公共--add-ポート= 3306 / UDP
実行ファイアウォール-CMDを有効にするには、最新のファイアウォールルールセットを--reload
リモートアクセスセットアップ
通常のユーザーSAを作成し、パスワードは123456です
;「123456」によって識別されるユーザ「SA」@「%」を作成
SELECT、INSERTへのリモートアクセスを許可するユーザーに、更新、削除、およびこのアカウントは一般の実装を提供するために使用されますシステムアクセス
GRANT SELECT、INSERT、UPDATE、DELETE ON * * TO 'のsa' @ '%' ;.
管理者ユーザアカウントの管理者を作成し、パスワードは123456です
ユーザの管理」を作成@ '123456 BY' IDENTIFIED '%';
へユーザーは、すべてのリモートアクセス許可を付与します。これは主に全体ユーザーデータベース、バックアップ、復元、および他の操作を管理するために使用されます。
。GRANT ALL PRIVILEGES ON *の* TO にadmin '@ '%';
rootユーザが任意のIPにアクセスすることができます設定します。
グラントすべての権限をON * *ルートに@「新しいパスワード」;.で識別される「%」
ユーザーのルートを設定するには、ローカルにアクセスすることができます:
グラントすべての権限を* *上のルートに@。 「新しいパスワード」で識別される「localhost」を。
許可はすぐに有効になります
フラッシュ権限;
文字セット
一般的には、中国をサポートするために、我々は「は文字%」LIKE SHOWの変数を実行し、UTF-8に文字セットを設定する必要があります。
現在のMySQLの文字セットを見ます
あなたは、サーバのデフォルトの文字は、中国の非友好のために、latin1のある見ることができます。文字セットを追加し、ファイルを変更しな/etc/my.cnf
[MySQLの】
デフォルトの文字セット= UTF8
[mysqldを】
character_set_server = UTF8
再起動MySQLは、あなたは、文字セットが変更されている見ることができます
その他の一般的な構成:
- [mysqldを】
- BASEDIR =ルートディレクトリ(ディレクトリ)として指定されたディレクトリを使用して、パス#。
- DATADIR =パス#が指定されたディレクトリからデータベースファイルを読み込みます。
- PIDファイル=ファイル名#は(のみUNIX / Linuxシステム用)のmysqldプログラムのファイル保存プロセスIDを指定しました。
- (デフォルトはLinuxで/var/lib/mysql/mysql.sockファイルです)ソケットファイルを指定してのMySQLクライアントとサーバ間のソケット= /tmp/mysql.sock#ローカル通信
- ポート= 3306#リスニングポートmssqlに指定
- インデックスブロックのkey_buffer = 384M#key_bufferバッファサイズ、それがより良い対処することができた(すべての読み取りおよび複数の書き込み用)のインデックスをインクリメントします。
- インデックスブロックがバッファされ、key_bufferサイズがメモリサイズに応じて、すべてのスレッドで共有されています。
- table_cacheの= 512#は、すべてのスレッドのためのオープンテーブルの数です。この値を大きくすると、要件をmysqldのファイル記述子の数が増加します。頻繁にオープンオーバーヘッドデータ生成されたテーブルを避けます
- sort_buffer_size = 2M#各スレッドの必要性は、そのサイズのバッファを割り当てるようにソートされます。これは、加速度ORDER BYまたはGROUP BY操作の値を増加させます。
- 注:このパラメータは、各接続は排他的であるためにメモリを割り当てるに対応します!100接続がある場合、実際の合計がソートサイズ100×6 = 600メガバイトをバッファ分配します
- read_buffer_size = 2M#クエリで使用できるバッファサイズをお読みください。そしてsort_buffer_size対応する割当パラメータメモリは、専用のそれぞれに接続されます。
- query_cache_size = 32M#バッファMySQLのクエリ結果のサイズを指定
- ランダムリードと、行ポインタを使用して選別した後read_rnd_buffer_size = 8M#変更パラメータ。
- myisam_sort_buffer_size =並べ替えバッファする際に必要な64M#MyISAMテーブルの変更
- 同時スレッドのthread_concurrency = 8#最大数は、サーバのCPU×2の論理値の数、CPUは、ハイパースレッディングHTをサポートする場合、その後×2
- スレッドキャッシュの再利用可能な8 ##のthread_cache =数
- スキップ・ロック#の回避外部ロックのMySQLを、エラーの可能性を低減、安定性を向上させます。
- [mysqldumpを】
- サーバとクライアントの間でのmax_allowed_packet = 16M#可能な最大のパケットが送信できます
- [myisamchkは】
- key_buffer = 256M
- sort_buffer = 256M
- read_buffer = 2M
- write_buffer = 2M
その他のオプションのパラメータ:
back_log = 384
接続のMySQLの数を指定することも可能。非常に短い期間でメインスレッドのMySQLは、有効にするパラメータを接続要求の多くを受け取った場合、それは接続を確認し、新しいスレッドを開始するためにメインスレッド非常に短い時間がかかります。MySQLが一時的に新しい要求への応答を停止する前にback_logパラメータ値は、スタックの存在かもしれ短時間でリクエストの数を示しています。多くの接続と短期間でのシステムは、それはパラメータの値を大きくする必要がある場合は、パラメータ値は、着信TCP / IP接続のサイズを指定するキューを聞きます。Back_logは無効になり、オペレーティングシステムの制限値よりも高く設定しようとしました。デフォルト値は50です。より小さい512整数Linuxの自動セットのため。
MAX_CONNECTIONS = N
同時に処理MySQLデータベースサーバ接続の最大数(デフォルトは100)。あまりにも多くの接続がエラー報告する限界を超えた後
key_buffer_sizeはし= N
インデックスブロックRMA値(デフォルトは8Mである)、それは(すべての読み取りおよび複数の書き込みのための)より良い対処することができる指標増加格納するために使用される
record_bufferの:
ここに記述するコードを各テーブルのスレッドの各シートのための順次走査は、このサイズのバッファを割り当てるスキャン。あなたは多くのシーケンシャルスキャンを行う場合は、この値を増やすことをお勧めします。デフォルト値は131072(128K)である
:WAIT_TIMEOUT
それはアクションを待っているの接続にシャットダウンするまでの秒数内のサーバー。
interactive_timeout:
それは、対話型の接続上のアクションの秒数を待って閉じる前にサーバー。インタラクティブな顧客は、顧客がCLIENT_INTERACTIVEにmysql_real_connect()を使用するためのオプションとして定義されています。デフォルト値は、3600に変更することができ、28800です。
-名前解決スキップ
外部のDNS解決に禁止MySQLの接続を、このオプションを使用するMySQLのDNS解決時間がなくなります。注意、このオプションがオンになっている場合は、すべてのリモートホスト接続が道のIPアドレスの使用を許可する必要があり、そうでなければ接続は、MySQLが通常扱うことができない要求!
ログスロークエリ= slow.log
記録遅いクエリ、11その後、スロークエリの最適化
をスキップ-InnoDBの
スキップ-BDBは、
あなたが、この追加しないする必要がある場合は、不要なテーブルタイプをオフに
バックアップし、復元
方法1:コマンドライン
バックアップ
mysqldumpを--socket =の/ var / libに/ mysqlの/にmysql.sock --single-トランザクション= TRUE -uルート-p mysqlの> Solin.sql
削減
mysqlの--socket =の/ var / libに/ mysqlの/にmysql.sock - uのルート-p mysqlの<Solin.sql