CentOS で MySQL 5.1 を 5.5.36 にアップグレードする

CentOS で MySQL 5.1 を 5.5.36 にアップグレードする

CentOS 6.4 環境で MySQL 5.1 を 5.5.36 にアップグレードする手順を記録します。皆様の参考になれば幸いです。

1. 安全上の理由から、まず元のデータをバックアップする必要があります

2. オリジナルのMySQLをアンインストールし、まずオリジナルのMySQLサービスを停止してから、find / -name mysqlを検索します。

[root@linuxidc /]# find / -name mysql

var/lib/mysql の

var/lib/mysql/mysql

lib64 の mysql

サービスを削除する

[root@linuxidc /]# rm -rf /var/lib/mysql

[root@linuxidc /]# rm -rf /var/lib/mysql

[root@linuxidc /]# rm -rf /usr/lib64/mysql

3. cmakeをインストールする

[root@linuxidc ダウンロード]# wget http://www.cmake.org/files/v2.8/cmake-2.8.12.2.tar.gz

[root@linuxidc ダウンロード]# tarx zvfc cmake-2.8.12.2.tar.gz

[root@linuxidc ダウンロード]# cd cmake-2.8.12.2

[root@linuxidc cmake-2.8.12.2]# ./configure

[root@linuxidc cmake-2.8.12.2]# 作成 && インストール

4. MySQL 5.5.36をダウンロードしてインストールする

[root@linuxidc ダウンロード]# wget http://dev.mysql.com/get/Downloads/MySQL-5.5/mysql-5.5.36.tar.gz

[root@linuxidc ダウンロード]# tar xzvf mysql-5.5.36.tar.gz

[root@linuxidc ダウンロード]# cd mysql-5.5.36

[root@linuxidc mysql-5.5.36]# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DEXTRA_CHARSETS=all -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_READLINE=1 -DWITH_SSL=system -DWITH_ZLIB=system -DWITH_EMBEDDED_SERVER=1 -DENABLED_LOCAL_INFILE=1 -DMYSQL_DATADIR=/home/mysql

[root@linuxidc mysql-5.5.36]# 作成 && インストール

cmake プロセス中にエラーが発生しました。Curses が見つかりません (CURSES_LIBRARY CURSES_INCLUDE_PATH がありません) というメッセージが表示されます。

次のコードを実行し、実行後にcmakeを続行し、make && make installを実行します。

[root@localhost mysql-5.5.36]# rm CMakeCache.txt

[root@localhost mysql-5.5.36]# yum install ncurses-devel

5. 次に、以前にバックアップしたmy.cnfファイルを/etc/my.cnfにコピーする必要があります。

MySQL は /etc/my.cnf /etc/mysql/my.cnf /usr/local/mysql/etc/my.cnf /.my.cnf を読み取ります。左側のファイルの優先度が最も高くなります。

6. 設定後、MySQLを起動すると問題が見つかります。MySQLを起動すると、次のメッセージが表示されます: サーバーはPIDファイルを更新せずに終了しました (…) 失敗しました

my.cnfファイルに設定されているログファイルアドレス/var/log/mysqld.logを確認してください。エラーメッセージは次のとおりです。

170715 12:31:36 mysqld_safe mysqld (pid ファイル /var/lib/mysql/linuxidc.pid から終了)

170715 12:57:48 mysqld_safe /home/mysql のデータベースを使用して mysqld デーモンを起動しています

170715 12:57:48 InnoDB: InnoDB メモリヒープが無効になっています

170715 12:57:48 InnoDB: ミューテックスと rw_locks は GCC アトミック組み込みを使用します

170715 12:57:48 InnoDB: 圧縮テーブルは zlib 1.2.3 を使用します

170715 12:57:48 InnoDB: バッファプールを初期化しています。サイズ = 128.0M

170715 12:57:48 InnoDB: バッファプールの初期化が完了しました

170715 12:57:48 InnoDB: サポートされている最高のファイル形式は Barracuda です。

170715 12:57:48 InnoDB: バックグラウンドスレッドの開始を待機しています

170715 12:57:49 InnoDB: 5.5.36 が起動しました。ログ シーケンス番号 2645823

170715 12:57:49 [エラー] /usr/local/mysql/bin/mysqld: 不明な変数 'default-character-set=utf8'

170715 12:57:49 [エラー] 中止しています

このエラーは、/etc/my.cnf 設定ファイル内の [mysqld] の文字セットによって発生します。解決方法は、default-character-set=utf8 を character_set_server=utf8 に変更することです。

7. mysql -u root -p コマンドを使用して mysql に接続します。 (以前に MySQL をインストールしたことがあり、データベース ファイルはまだ残っているので、権限を設定するためにユーザーを追加する必要はありません)

エラー メッセージが表示されました: ERROR 2002 (HY000): ソケット '/tmp/mysql.sock' 経由でローカル MySQL サーバーに接続できません

エラーの原因は、mysql.sockファイルが/usr/lib/mysql/フォルダにあることです。

次のコマンドで接続して、mysqlのバージョンを確認してください。

[root@linuxidc var]# mysql -u root -p -S /usr/lib/mysql/mysql.sock

mysql> バージョンを選択します();

+-----------+

| バージョン() |

+-----------+

| 5.5.36 |

+-----------+

セット内の 1 行 (0.00 秒)

以下もご興味があるかもしれません:
  • CentOS システムで PHP と MySQL をアップグレードする方法
  • Centos 6.3 で MySQL 5.1.61 を MySQL 5.6.19 にアップグレードする際の問題と解決策
  • Centos MySQL 5.7 のインストールとアップグレードのチュートリアル
  • CentOS で MySQL 5.1 を MySQL 5.5 にアップグレードする手順
  • CentOS 6.2 で MySQL 5.5 をアップグレードしてインストールする方法
  • CentOS 7 で MySQL 5.7.23 をアップグレードする際の落とし穴と解決策

<<:  nginx を使用して 1 つのドメイン名で複数の Laravel プロジェクトを構成する方法の例

>>:  nginx 設定場所方法の概要

推薦する

CSSボックスモデルの紹介を読めば、混乱することはなくなるでしょう

Web デザインでよく耳にするプロパティ名: content、padding、border、marg...

Vueは複数の画像の追加、表示、削除を実装します

この記事では、Vueで複数の画像を追加、表示、削除するための具体的なコードを参考までに紹介します。具...

Nginxのアクセス制限設定の詳細な説明

Nginxのアクセス制限設定とはNginx のアクセス制限は、IP ベースのアクセス制御とユーザーベ...

Vue2.0の双方向データバインディング原則を手動で実装する

一言で言えば: データハイジャック (Object.defineProperty) + パブリッシュ...

CSS でフローティングにより親要素の高さが崩れる問題を解決するいくつかの方法

以前は、フロートはレイアウトによく使用されていましたが、フローティングレイアウトを使用すると親要素の...

16 の XHTML1.0 と HTML の互換性ガイドラインの概要

1.ページを XML タイプとして宣言しないでください。ページでは UTF-8 または UTF-16...

Centos7 DockerでNginxファイルを変更するプロセスの詳細な説明

1. docker に nginx をインストールします。 docker に Nginx をインスト...

JavaScript における var と let の違い

目次1. スコープはさまざまな方法で表現されます2. 変動昇進と非昇進の違い3. 一時的なデッドゾー...

jsはテーブルの追加と削除の操作を動的に実装します

この記事の例では、jsでテーブルを動的に追加および削除するための具体的なコードを参考までに共有してい...

Nginxを使用してストリーミングメディアサーバーを構築し、ライブブロードキャスト機能を実現する

前面に書かれた近年、ライブストリーミング業界は非常に人気が高まっています。伝統的な業界でのライブスト...

Dockerイメージサイズを最適化する一般的な方法

通常、私たちが構築する Docker イメージはサイズが大きく、多くのディスク領域を占有します。コン...

MySQL テーブル分割後にスムーズにオンラインになる方法

目次テーブルの目的例えばテーブル分割戦略すでにオンラインになっている実行中のテーブルはどうすればよい...

Vue検証コードコンポーネントの使い方の詳しい説明

この記事の例では、vue検証コードコンポーネントで使用される具体的な実装コードを参考までに共有してい...

SQL と MySQL のステートメント実行順序の分析

今日、問題が発生しました: MySQL の insert into、update、delete ステ...

MySQLの共通関数を使用してJSONを処理する方法

公式ドキュメント: JSON 関数名前説明JSON_APPEND() JSONドキュメントにデータを...