LinuxCentOS7システムにmysql8.0.13バージョンをインストールします

序文

最近、Linux CentOS7システムにmysql8.0.13をインストールする際に発生したいくつかの手順と問題を整理し、共有します。

1

インストールとエラー処理

  1. https://www.mysql.com/downloads/msyqlダウンロードページにアクセスし、コミュニティバージョンを選択します

  2. Linuxのバージョンを確認し、対応するバージョンを選択してダウンロードします

  1. ダウンロードしたファイルmysql-8.0.13-linux-glibc2.12-x86_64.tar.xzをlinuxサーバー上のディレクトリにコピーし、解凍してusr / localディレクトリにコピーし、名前を[mysql](https://cloud.tencent.com/product/cdb?from=10680 )
[ root@VM_0_14_centos mysql]# tar -xvf mysql-8.0.13-linux-glibc2.12-x86_64.tar.xz
[ root@VM_0_14_centos mysql]# cp -rv mysql-8.0.13-linux-glibc2.12-x86_64 /usr/local
[ root@VM_0_14_centos mysql]# cd /usr/local 
[ root@VM_0_14_centos local]# mv mysql-8.0.13-linux-glibc2.12-x86_64 mysql
  1. mysqlユーザーを追加します
useradd -s /sbin/nologin -M mysql
  1. msyqlの初期化
/usr/local/mysql/bin/mysqld --initialize --user=mysql

この時点で一時的なパスワードが生成されます

[ root@VM_0_14_centos mysql]# /usr/local/mysql/bin/mysqld --initialize --user=mysql
2019- 01- 20 T10:56:07.718326Z 0[System][MY-013169][Server]/usr/local/mysql/bin/mysqld(mysqld 8.0.13) initializing of server in progress as process 58262019-01-20T10:56:16.915217Z 5[Note][MY-010454][Server] A temporary password is generated for root@localhost: twi=Tlsi<0O!2019-01-20T10:56:20.410563Z 0[System][MY-013170][Server]/usr/local/mysql/bin/mysqld(mysqld 8.0.13) initializing of server has completed
  1. 起動スクリプトとシャットダウンスクリプトをコピーする
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
  1. 構成ファイルを変更し、wqを保存して終了します
vim /etc/my.cnf
[ mysqld]
 basedir =/usr/local/mysql   
 datadir =/var/lib/mysql
 socket =/var/lib/mysql/mysql.sock
 character-set-server=utf8
 [ client]
 socket =/var/lib/mysql/mysql.sock
 default-character-set=utf8
  1. データベースサービスを開始します
service mysqld start

エラーを報告する

mysqld_safe Directory '/var/lib/mysql'for UNIX socket file don't exists.

1つは/ var / lib / mysqlディレクトリがないため、もう1つは書き込み権限がないため、mysql.sockファイルを生成できないためです。

[ root@VM_0_14_centos lib]# mkdir mysql
[ root@VM_0_14_centos lib]# chmod 777/var/lib/mysql

service mysqld startを再度実行し、別のエラーを報告します

Starting MySQL. ERROR! The server quit without updating PID file(/var/lib/mysql/VM_0_14_centos.pid).

特定のエラーメッセージを印刷します

[ root@VM_0_14_centos mysql]# cat VM_0_14_centos.err
2019- 01- 20 T11:11:45.906800Z 0[System][MY-010116][Server]/usr/local/mysql/bin/mysqld(mysqld 8.0.13) starting as process 77882019-01-20T11:11:45.910813Z 0[Warning][MY-013242][Server]--character-set-server:'utf8' is currently an alias for the character set UTF8MB3, but will be an alias for UTF8MB4 in a future release. Please consider using UTF8MB4 in order to be unambiguous.2019-01-20T11:11:45.925456Z 1[ERROR][MY-011011][Server] Failed to find valid data directory.2019-01-20T11:11:45.925586Z 0[ERROR][MY-010020][Server] Data Dictionary initialization failed.2019-01-20T11:11:45.925600Z 0[ERROR][MY-010119][Server] Aborting
2019- 01- 20 T11:11:45.926342Z 0[System][MY-010910][Server]/usr/local/mysql/bin/mysqld: Shutdown complete(mysqld 8.0.13)  MySQL Community Server - GPL.2019-01-20T11:12:00.049920Z 0[System][MY-010116][Server]/usr/local/mysql/bin/mysqld(mysqld 8.0.13) starting as process 79752019-01-20T11:12:00.052469Z 0[Warning][MY-013242][Server]--character-set-server:'utf8' is currently an alias for the character set UTF8MB3, but will be an alias for UTF8MB4 in a future release. Please consider using UTF8MB4 in order to be unambiguous.2019-01-20T11:12:00.060600Z 1[ERROR][MY-011011][Server] Failed to find valid data directory.2019-01-20T11:12:00.060745Z 0[ERROR][MY-010020][Server] Data Dictionary initialization failed.2019-01-20T11:12:00.060759Z 0[ERROR][MY-010119][Server] Aborting
2019- 01- 20 T11:12:00.061610Z 0[System][MY-010910][Server]/usr/local/mysql/bin/mysqld: Shutdown complete(mysqld 8.0.13)  MySQL Community Server - GPL.

特定の問題がわからないため、service --status-allを実行すると、エラーメッセージが表示されます

ERROR! MySQL is not running, but lock file(/var/lock/subsys/mysql) exists

一部のネット市民は、ファイルを削除するだけで十分だと言っていましたが、私がそれを削除しても役に立たなかったのです。

次に、今すぐerrファイルを確認します。重要なエラーはこれらの2行である必要があります

2019- 01- 20 T11:11:45.925456Z 1[ERROR][MY-011011][Server] Failed to find valid data directory.2019-01-20T11:11:45.925586Z 0[ERROR][MY-010020][Server] Data Dictionary initialization failed.

そこで、my.cnfを検索しました。データディレクトリに関連する構成はdatadir = / var / lib / mysqlです。この行を削除しようとしました。結果は成功し、サービスmysqldの開始は成功しました。

  1. mysql -u root -p log inmysqlエラーレポート

解決策は次のとおりです。

cd /usr/local/bin  
ln -fs /usr/local/mysql/bin/mysql mysql
  1. データベースエラーを表示
you must reset your password using ALTER USER statement before executing this statement.

解決:

alter user user() identified by '123456';
  1. ipを使用してmysqlにリモートでログインすることはできませんが、Linuxサーバーのlocalhostを使用してのみログインできます。

権限構成の変更

grant all privileges on *.* to 'root'@'%' identified by '123456';

しかし、エラー

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'identified by '123456' at line 1

解決:

use mysql;
update user set host ='%' where user ='root';
flush privileges;

次に、Navicatとの接続時にエラーが報告されます

Client does not support authentication protocol requested by server; consider upgrading MySQL client

解決:

ALTER USER 'root'@'*' IDENTIFIED WITH mysql_native_password BY '123456';

Recommended Posts

LinuxCentOS7システムにmysql8.0.13バージョンをインストールします
LinuxにMySQLをインストールする(CentOS 7)
CentOS7の下にmysql5.7をインストールします
Centos7にmysqlをインストールします
CentOS6.5の下にmysql5.1をインストールします
LinuxCentosにMySQL8.0.16をインストールします
linuxインストールmongodbでのCentOS6.8
Linux CentOS7(Windows)にMySQLをインストールする
CentOS7.2はMysql5.7.13をインストールします
CentOS7はMySQLをインストールします
CentOSインストールmysql
CentOS7インストールmysql
CentOS7はMySQL5.6をインストールします
CentOS8はMySQL8.0をインストールします
CentOS7はmysql8をインストールします
CentOS7はMySQL8をインストールします
centos7.5インストールmysql5.7.17
Windowsシステムの下にlinux(ubuntu)デュアルシステムをインストールします
CentOS7システムyumMySQL5.7をインストールする方法
CentOS6.5オフラインインストールMySQL5.6.26
Ubuntu16.04にmysqlをインストールします
Centos7の下にActiveMQをインストールします
CentOS7の下にPostgreSQL12をインストールします
VMwareにCentOSをインストールする
LinuxCentos7インストールjdk1.8
CentOS 7.2YumはMySQL5.6をインストールします
CentOS(linux)はPostgreSQLをインストールします
Centos7インストールMysql8チュートリアル
VirtualBoxはCentOSシステムをインストールします
Centosはmysql8を手動でインストールします
Centos7はMysqlデータベースをインストールします
Centos7の下にJenkinsをインストールします
MariaDBCentos7の下にMariaDBをインストールします
UbuntuにMySQLをインストールする
Centos 7インストールJDK(Linuxインストールjdk)
中級クラスの子供向けにCentOS7にMySQL5.7をインストールしてください!
CentOS7のソースコードからMySQL8.xをインストールします
RPMを使用してmysql8.0.11チュートリアルをインストールするLinux(CentOS7)
VMwareを介してLinuxCentOS7.7システムをインストールする方法
mysqlをcentosにオンラインでインストールする
Linuxを理解し、CentOSをインストールする
centosはyumを介してmysqlをインストールします
Linuxにpython環境をインストールする
CentosはハイバージョンGCCをインストールします
CentOS6.9でOracle11gR2データベースをインストールします
CentOSLinuxでの3つのパーティショニングツール
Centosシステムにdockerをインストールします
CentOS6の下にJavaJDK8をインストールします
Centos6インストールmysql5.7.xシリーズ
Linuxにdockerをすばやくインストールする方法(Centosバージョン)
LinuxcentosでLnmpシェルスクリプトをコンパイルしてインストールします
CentOS7の下にMongoDBデータベースをインストールします
Centos7インストールk8sクラスター1.15.0バージョン
CentOS 8.0.1905インストールZABBIX4.4バージョン(検証済み)
Centos7.6はMySQL + Redis(最新バージョン)をインストールします
CentOS8はMySQL8をインストールします(プロテスト)
Linuxcentosシステムの起動プロセス
CentOS7の下にMesosチュートリアルをインストールします
[ビデオ] Centos8に最新のLinuxバージョンのQQをインストールする方法を教えてください
について話す| Win10でLinuxシステムUbuntuをインストールして使用する
Ubuntu 18.04linuxシステムにJDKとMysqlをインストールする方法