ARM64アーキテクチャでmysql5.7.22をインストールするプロセス全体

ARM64アーキテクチャでmysql5.7.22をインストールするプロセス全体

MySQLダウンロードアドレス:

https://obs.cn-north-4.myhuaweicloud.com/obs-mirror-ftp4/database/mysql-5.7.27-aarch64.tar.gz

1. mysqlユーザーグループとmysqlユーザーを追加してmysqlプロセスを分離する
# グループ追加 -r mysql && ユーザー追加 -r -g mysql -s /sbin/nologin -M mysql
2. 依存ライブラリをインストールする
# yum インストール -y libaio*
3. MySQLをダウンロードして解凍する
# wgethttps://obs.cn-north-4.myhuaweicloud.com/obs-mirror-ftp4/database/mysql-5.7.27-aarch64.tar.gz
# tar xzvf mysql-5.7.27-aarch64.tar.gz -C /usr/local/
4.Mysqlを設定する
# mv /usr/local/mysql-5.7.27-aarch64 /usr/local/mysql
# mkdir -p /usr/local/mysql/logs
# chown -R mysql:mysql /usr/local/mysql
# ln -sf /usr/local/mysql/my.cnf /etc/my.cnf
# cp -rf /usr/local/mysql/extra/lib* /usr/lib64/
# mv /usr/lib64/libstdc++.so.6 /usr/lib64/libstdc++.so.6.old
# ln -s /usr/lib64/libstdc++.so.6.0.24 /usr/lib64/libstdc++.so.6

# ブートを設定する
# cp -rf /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
# chmod +x /etc/init.d/mysqld
# systemctl でmysqldを有効にする
5. 環境変数を追加する
# vim /etc/プロファイル

次の 2 行のコードを追加します。
MYSQL_HOME=/usr/local/mysql をエクスポートします。
エクスポート PATH=$PATH:$MYSQL_HOME/bin

# ソース /etc/profile

5. MySQLを初期化して起動する
# パスワードなしでログインを初期化する
# mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

! ! !ここで実行中にエラーが発生しました:

解決:

vim /etc/my.cnf
ファイルを表示し、datadir=... を探します。
チェック: datadir=/usr/local/mysql/data、 
これはデータ保存ディレクトリです。
/usr/local/mysql/data に入ると、確かにデータがあることがわかりました。
/usr/local/mysql/dataをバックアップします。
cd /usr/local/mysql
mv データ データ.bak
次に以下を実行します:
mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

#mysqlを開く

# systemctl で mysqld を起動します

#ステータスを確認する
# systemctl ステータス mysqld

これは、mysql が正常にインストールされたことを示します。

MySQL の初期パスワードはインストール時に間違えるとおかしくなりますが、以前 Win10 にインストールした際にこの状況が発生したことがあるため、ここではまずパスワードの確認なしで設定します。

mysql インストール パスで my.ini を見つけます (Linux システムでは通常 /etc/my.ini にあります)
vim が開きます:
[mysqld] 行の下:
パスワード検証をスキップするには skip-grant-tables を追加してください。 ! !私の環境でのファイル名はmy.cnfです。

ログインするにはmysql -u rootを使用します

! ! !開発ボードを再起動した後、エラーが発生しました:

# mysql -u ルート
-bash: mysql: コマンドが見つかりません

理由: これは、システムがデフォルトで /usr/bin でコマンドを検索するためです。コマンドがこのディレクトリにない場合は、もちろん見つかりません。必要なのは、/usr/bin ディレクトリへのリンクをマップすることです。これは、リンク ファイルを作成することと同じです。
まず、mysql コマンドまたは mysqladmin コマンドのフルパスを知る必要があります。たとえば、mysql のパスは /usr/local/mysql/bin/mysql です。次のようにコマンドを実行できます。

# ln -s /usr/local/mysql/bin/mysql /usr/bin

! ! !エラーを表示する

理由は、libncurses.so.5 共有ライブラリが見つからないことです。

解決:

私は EAIDK-610 開発ボードを使用していますが、ボードの /lib64 フォルダーに libncurses.so.6.1 ファイルがあることがわかりました。
したがって、ソフト リンクを使用して libncurses.so.6.1 から libncurses.so.5 を指すリンクを作成すると、この共有ライブラリは下位互換性を持つことができます。
詳細については以下の画像例をご参照ください。

mysql -u root を使用して再度ログインします。ログインは成功しました。

ARM64 アーキテクチャで mysql5.7.22 をインストールするプロセス全体に関するこの記事はこれで終わりです。ARM64 での mysql5.7.22 のインストールに関する関連コンテンツの詳細については、123WORDPRESS.COM で以前の記事を検索するか、次の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • iOS アセンブリ チュートリアル - ARM64 アセンブリの基本チュートリアル
  • MySQL 5.7.22 バイナリパッケージのインストールとインストール不要版 Windows 設定方法
  • Ubuntu16.04 インストール mysql5.7.22 グラフィックチュートリアル
  • MySQL サーバー コミュニティ バージョン MySQL 5.7.22 winx64 を win10 にインストールする方法
  • MacでのMySQL5.7.22のインストール手順

<<:  Linux サーバーは最大いくつのポートを開くことができますか?

>>:  HTML TextArea でのフォーマット保存の問題の解決方法

推薦する

reduxの動作原理と使い方の説明

目次1. redux とは何ですか? 2. 還元の原則3. redux の使い方は? (1)redu...

VMware15.5 インストール Ubuntu20.04 グラフィック チュートリアル

1. インストール前の準備1. 公式ウェブサイトからUbuntu 20.04のイメージファイルを直接...

ウェブフロントエンドウェブ開発の一般的なプロセスの簡単な紹介

フロントエンド開発を行っている初心者の学生を多く見かけますが、彼らの効率は比較的遅いです。常にコード...

MySQL 外部キー設定方法の例

1. 外部キーの設定方法1. MySQL では、2 つのテーブルを関連付けるために、外部キー (FO...

Vue3 コンパイルプロセス - ソースコード分析

序文: Vue3 がリリースされてからかなり経ちますが、最近、会社のプロジェクトでVue3 + Ty...

MySQL データベースのパフォーマンス最適化の概要

目次なぜ最適化するのですか? ?どこから始めますか? ?解決策は何ですか? ? ?どうやって選ぶ? ...

WeChatアプレット開発の共通機能と使用方法のまとめ

ここでは、主に小さなプログラムの開発プロセスでよく使われる、非常に実用的な機能ポイントをいくつか整理...

HTML 要素に注釈を付けるときにクラスと ID のどちらが優れているかを分析する

Web ページには、非常に複雑な HTML 構造があります。CSS を使用して関連するスタイルを定義...

Node.js でのブレークポイント再開の実装

序文通常のビジネスニーズ: 写真、Excel などをアップロードします。結局のところ、数 MB のサ...

IntelliJ IDEA で Java を使用して MySQL データベースに接続する方法の詳細な説明

1. MySQLデータベースをダウンロードし、インストールして設定するダウンロードアドレス: htt...

MySQL の binlog_format モードと設定の詳細な分析

MySQL レプリケーションには、SQL ステートメント ベースのレプリケーション (SBR)、行ベ...

Nginx がサーバーの生存状態をパッシブにチェックする詳細な説明

導入定期的にヘルスチェックを送信して、アップストリーム グループ内の HTTP サーバーのヘルスを監...

MySQL が大規模トランザクションを避けるべき理由とその解決方法

何が大問題ですか?長時間実行され、長時間コミットされないトランザクションは、大規模トランザクションと...

MySQL データベースで機密データの暗号化と復号化を実装する方法

目次1. 準備2. MySQL暗号化関数方式2.1 MySQL 暗号化2.2 MYSQL 復号化3....

mysqlは、現在の時刻が開始時刻と終了時刻の間にあるかどうかを判断し、開始時刻と終了時刻が空であることが許可されます。

目次要件: 進行中のアクティビティ データを照会する次のSQLクエリは、上記の4つの要件を満たし、タ...