centos7コンパイルしmysql5.7をインストール

 

 MySQLは、ソースコードをダウンロードするには、公式ウェブサイトに行くことができます

 

インストールの依存関係

yum -y install gcc gcc-c++ ncurses ncurses-devel bison libgcrypt perl make cmake

グループMySQLを作成します。

groupaddのmysqlの

ユーザーMySQLを作成します。

useraddの-r -g mysqlの-s / binに/偽-M mysqlの

MySQLのインストールディレクトリを作成します。

 ます。mkdir -pは/ usr / local / mysqlの

MySQLのデータ格納ディレクトリを作成します。

ます。mkdir -p /データ/ MySQLの

ユーザーは、ディレクトリを変更属し

chownコマンドのmysql:mysqlの-R /データ

chownコマンドのmysql:mysqlの-Rは/ usr / local / mysqlの/

 

MySQLはソースファイルをダウンロード

タール-zxvfのmysql-ブースト-5.7.25.tar.gz

現在のディレクトリに解凍して、MySQLのソースディレクトリを入力します。

CD mysqlのブースト-5.7.25

MVブーツは/ usr / local / mysqlの/ブースト

cmakeの。-DCMAKE_INSTALL_PREFIX =は/ usr / local / MySQLの-DMYSQL_DATADIR = /データ/ MySQLの-DDEFAULT_CHARSET = UTF8 -DDEFAULT_COLLATION = utf8_general_ci -DMYSQL_TCP_PORT = 3306 -DMYSQL_USER = MySQLの-DWITH_MYISAM_STORAGE_ENGINE = 1 -DWITH_INNOBASE_STORAGE_ENGINE = 1 -DWITH_ARCHIVE_STORAGE_ENGINE = 1 -DWITH_BLACKHOLE_STORAGE_ENGINE = 1 -DWITH_MEMORY_STORAGE_ENGINE = 1 -DENABLE_DOWNLOADS = 1 -DDOWNLOAD_BOOST = 1 -DWITH_BOOST =は/ usr / local / MySQLの/ブースト

ここで警告があります

上記cmakeのコマンドで実行して再、なくなって警告し

 

作ります

エラーは、おそらくメモリ不足のため、発生する可能性が

私はここにいる理由は、メモリが不足しています

次に、仮想メモリを追加し、あなたがコンパイルし続けることができます

DDなら= /スワップファイルBSの=は/ dev /ゼロ= 1Kカウント= 2048000注:(カウントIが二回、一般的に同一の物理メモリまたは仮想メモリを、同じ大き2G使用し、仮想メモリのサイズを表します。)

mkswap /スワップファイル

swaponを/スワップファイル

しかし、コンパイルし続けることがOKであります

作ります

make installを

 

インストール後に新しいディレクトリがあるため、変更されたファイルの私は再実装では、ユーザーに属します

chownコマンドのmysql:mysqlの-R /データ

chownコマンドのmysql:mysqlの-Rは/ usr / local / mysqlの/

 

環境変数を追加します

エコー "輸出PATH = $ PATH:/ホーム/ mysqlの/ binに" >> / etc / profileを

ソースは/ etc / profile

-initializeは、デフォルトのデータベースの初期化は、安全なパスワードを生成示し、-initialize-安全でないが、彼らはパスワードを生成していないと述べました

/ usr / localmysql / binに/ mysqldを--initialize --user = MySQLの--basedir =は/ usr / local / MySQLの--datadir = /データ/ MySQLの

警告やエラーがあります 

警告:[警告]暗黙のデフォルト値でTIMESTAMPが廃止されました。--explicitサーバ・オプションを使用してください(詳細はマニュアルを参照してください)

错误: - 初期化指定されたが、データディレクトリには、その中のファイルを持っています

WARNINGソリューションです

VIMな/etc/my.cnf

explicit_defaults_for_timestamp書面で[mysqldを] = 1

データを格納するためのディレクトリ内のファイルのバグがあるためであります

MV /データ/ mysqlの/ * / tmpが離れてうまく移動しました

再実行し、データベースを再初期化します

/ usr / localmysql / binに/ mysqldを--initialize --user = MySQLの--basedir =は/ usr / local / MySQLの--datadir = /データ/ MySQLの

初期化が成功

 

/etc/init.d/のにファイルmysqlの開始をコピーし、実行許可を与えます

注:サポート・ファイル/ mysql.serverのMySQLで、このファイルはディレクトリだけをコンパイル(つまり、抽出されたディレクトリの下に、です)

 CPのサポート・ファイル/ mysql.serverのを/etc/init.d/mysqld

 chmodの+ X /etc/init.d/mysqld

 

設定したMySQLの起動

chkconfigを--addのmysqld

mysqldの上のchkconfig

 これは私のetc.cnfプロファイルです

 

 データベースを起動します

サービスが開始してmysqld(または開始/etc/init.d/mysqld)

データベースへのアクセス

ここに間違いがありました

解決策はな/etc/my.cnfを変更することです

これらの二つのパスを追加

その後、別のエラーは、パスワードの有効期限が切れて、私はあまりにも長い間、データベースを初期化するので、おそらく、すべてのパスワードの有効期限が切れる。あなたの中にログインするには有効期限が切れたパスワードをサポートするクライアントを使用して、それを変更する必要があります。

my.cnfのは秘密着陸データベースを追加していない変更

スキップ・助成金・テーブル

 

 これは、MySQLを再起動することができます

 

MySQLのパスワードのリセット

MySQLを使用して、ハンドオーバーユーザーリポジトリ

@「123456」で識別される「localhost」の「ルート」に*上のすべてを付与し、最初のパフォーマンスは文句を言うでしょう

FLUSH PRIVILEGES;リフレッシュ許可

grant all on * to 'root'@'localhost' identified by '123456';  再次执行即可

 

 %表示允许远程登陆

localhost表示本地登陆

记得把my.cnf里的 skip-grant-tables 注释掉或者删除 然后再重启服务器

重新输入密码进入即可

٩(๑>◡<๑)۶

 

おすすめ

転載: www.cnblogs.com/bnsdmmL/p/11073167.html