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 注释掉或者删除 然后再重启服务器
重新输入密码进入即可
٩(๑>◡<๑)۶