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 設定場所方法の概要

推薦する

iptables の再起動後に Docker の iptables ルールの完全なプロセスが失われる

原因と結果1. ansibleコマンドを使用してジャンプサーバー上のマシンBをテストすると、次のエラ...

Vue ページ印刷で自動ページングを実装する 2 つの方法

この記事では、ページ印刷の自動ページングを実現するためのVueの具体的なコードを例として紹介します。...

Ubuntu 18.0.4 は mysql をインストールし、エラー 1698 (28000): ユーザー ''root''@''localhost'' のアクセスが拒否されましたを解決します

序文最近 Linux を学び、その後 Win から Ubuntu に変更しました。以前インストールし...

支払いカウントダウンを実現し、ホームページに戻るためのjs

ホーム ページに戻るための支払いカウントダウン ケースの概要: シンプルな js 構文、getEle...

Vueカスタムディレクティブを使用してドラッグアンドドロッププラグインを構築する方法

HTML5 のドラッグ アンド ドロップ機能は誰もが知っていますが、これを使用するとドラッグ アンド...

JSX を使用してコンポーネント パーサー開発を構築する例

目次JSX環境の構築プロジェクトの設定NPMを初期化するwebpackをインストールするBabelを...

MySQL で重複を削除するには、distinct または group by を使用する必要がありますか?

序文group by と distinctive のパフォーマンス比較について: インターネット上の...

画像のプリロードと遅延ロードを実装するJavaScript

この記事では、JavaScriptで画像のプリロードと遅延ロードを実装するための具体的なコードを参考...

CSS3はウェブサイトの製品表示効果図を実現します

この記事では、CSS3 を使用した Web サイトの商品表示の効果を紹介し、皆さんと共有します。詳細...

ホバードロップダウンメニューを実装するためのネイティブJS

JS はホバー ドロップダウン メニューを実装します。これは、フロントエンドの面接で遭遇するシナリ...

CentOS仮想マシンの時刻を変更する方法

上はシステム時間、下はハードウェア時間です。ここでは変更を加えているので、同じくらいの速さになってい...

バランスの取れたデジタルスクロール効果を実現するJavaScript

目次1. 実施の背景2. 実装のアイデア3. 実施プロセス1. 実施の背景先週、ユーザーがタスクを完...

MySQL トランザクションと分離レベルの基本原理の簡単な分析

目次序文1. 取引の基本原則の簡単な分析原子性:持続性分離:一貫性: 2. 分離レベルの基本原理の分...

JSインターセプト文字列の3つの方法の詳細な説明

JS には、文字列をインターセプトするための 3 つのメソッド、 slice() 、 substri...

Windows サーバー ポートを開きます (例としてポート 8080 を使用します)

ポートとは何ですか?私たちが通常参照するポートは、物理的な意味でのポートではなく、具体的には TCP...