環境とインストールパッケージを準備する
linux :centos 7.5
mysqlバイナリ圧縮パッケージ
圧縮パッケージ接続:https://downloads.mysql.com/archives/community/
1、 maridbがローカルにインストールされているかどうかを確認します。インストールされている場合は、最初にアンインストールします
rpm -qa | grep Mariabd
yum remove -nodeps -y maridb-xxx
2、 ローカル環境がクリーンアップされたら、関連するディレクトリを作成します
(公式のデフォルトディレクトリ:/ usr / local / mysql)
mysqlストレージデータディレクトリ:mkdir dbdata
アプリケーションデータストレージディレクトリ:mkdir appdata
Binlogログストレージディレクトリ:mkdir dbbinlog
3、 mysqlユーザー/ユーザーグループを追加します
useradd mysql
groupadd mysql
上記の3つのディレクトリにユーザーとユーザーグループを割り当てます
4、 mysql5.7インストールパッケージを解凍します
tar -zxvf mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz
次のように解凍した後、このファイルを後で使用するために、このディレクトリへのソフトリンクを作成します
5、 環境変数を設定する
vim /etc/profile
export PATH=/data/dbdata/mysql/bin:$PATH
source /etc/profile
検証中のmysql-V
6、 mysqlを初期化します
mysqld --initialize-insecure --user=mysql --basedir=/data/appdata/mysql --datadir=/data/dbdata/
6.1、 初期化ステートメントの拡張
mysqld --initialize-insecure:パスワードを生成せず、空のパスワードで直接ログインします。パスワードなしで初期化することをお勧めします
mysqld --initialize:このパラメーターはランダムにパスワードを生成します。このパスワードは、ログで確認する必要があります(mysqld.errログにある必要があります)。
図に示すように、ここで実行した後にエラーが発生しました
これは私の道が間違っているからです
変更後に正常に初期化されました
注:ここで最も一般的なエラーはおそらく次のとおりです
6.1、
mysqld: error while loading shared libraries: libaio.so.q:
cannot open shared object file: no such file or directory
解決策:yum install -y libaio-devel
6.2、
2020- 07- 21 T04:53:03.990092Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2020- 07- 21 T04:53:03.991746Z 0 [ERROR] --initialize specified but the data directory has files in it. Aborting.
2020- 07- 21 T04:53:03.991774Z 0 [ERROR] Aborting
解決策:datadirディレクトリをクリーンアップします
rm -rf /data/dbdata/*
7、 my.cnf構成ファイルを構成します
[ mysqld]
user=mysql
basedir=/data/appdata/mysql
datadir=/data/dbdata
server_id=101
port=3306
socket=/tmp/mysql.sock
[ mysql]
socket=/tmp/mysql.sock
8、 mysqldサービスを開始します
service mysqldstartまたはsystemctlstart mysql.service
次のような開始エラー
/data/appdata/mysql/bin/mysqld_safe: line 586: /usr/local/mysql/data/mysqld_safe.pid: No such file or directory
awk: (FILENAME=- FNR=1) warning: error writing standard output (Broken pipe)
2020- 07- 21 T07:02:57.447677Z mysqld_safe Logging to '/usr/local/mysql/data/VM-48-17-centos.err'.
Logging to '/usr/local/mysql/data/VM-48-17-centos.err'.
2020- 07- 21 T07:02:57.451028Z mysqld_safe The file /usr/local/mysql/bin/mysqld
does not exist or is not executable. Please cd to the mysql installation
directory and restart this script from there as follows:
. /bin/mysqld_safe&
See http://dev.mysql.com/doc/mysql/en/mysqld-safe.html for more information
解決:
mysqld_safe起動スクリプトはデフォルトで/ usr / local / mysqlディレクトリから別の起動スクリプトmysqldを読み取るため、インストールディレクトリは
/ data / appdata / msyqlなので、エラーは上記のように報告されます
ここでは、エラーレポートに従ってこのパスのソフト接続を実行して解決できます
mkdir -p /usr/local/mysql/bin
ln -s /data/appdata/mysql/bin/mysqld /usr/local/mysql/bin/mysqld
その後、サービスを再開します
拡張機能:mysql 5.6インストールパッケージの場合、インストール手順に違いはありませんが、初期化中の実行ステートメントは異なります。
/data/appdata/mysql/scripts/mysql_instll_db --user=mysql --basedir=/data/appdata/mysql --datadir=/data/dbdata/
Recommended Posts