[Mysql] Linuxにmysql-5.7.31をインストールします

1.ダウンロード

mysqlの公式Webサイトにアクセスして、独自のバージョンのmysqlをダウンロードします。

ダウンロードリンク:https//dev.mysql.com/downloads/mysql/5.7.html#downloads

mysql-5.7.31-linux-glibc2.12-x86_64.tar.gzバージョンをここからダウンロードします

Linuxに入った後にコマンドを使用してダウンロードすることもできます

wget https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.31-linux-glibc2.12-x86_64.tar.gz

2、環境構成

インストールする前に、システムにMySQLがインストールされているかどうかを確認できます。

rpm -qa | grep mysql

はいの場合、同様

mysql-libs-5.1.52-1.el6_0.1.x86_64

アンインストールを選択できます。

rpm -e mysql-libs-5.1.52-1.el6_0.1.x86_64  // 普通删除模式

rpm -e --nodeps mysql-libs-5.1.52-1.el6_0.1.x86_64  // 强力删除模式,如果使用上面命令删除时,提示有依赖的其它文件,则用该命令可以对其进行强力删除

mariadbデータベースがあるかどうかを確認し、ある場合は、上記と同じようにアンインストールします

rpm -qa | grep mariadb

 はいの場合、同様

mariadb-libs-5.5.56-2.el7.x86_64

次にアンインストールします

rpm -e --nodeps mariadb-libs-5.5.56-2.el7.x86_64

WinSCP 5.14.4ツールを使用して、ダウンロードしたmysql-5.7.25-linux-glibc2.12-x86_64.tar.gzをLinuxサーバーの/ opt / mysqlディレクトリにアップロードします。

3、インストール

tar -zxvf mysql-5.7.31-linux-glibc2.12-x86_64.tar.gz -C ../servers/

名前を変更する

mv mysql-5.7.31-linux-glibc2.12-x86_64 mysql-5.7.31

システムmysqlグループとmysqlユーザーを追加します

作成されていない場合は、mysqlグループとユーザーが存在するかどうかを確認します

cat /etc/group | grep mysql

#类似

mysql:x:490:

cat /etc/passwd | grep mysql

#类似

mysql:x:496:490::/home/mysql:/bin/bash

上記は既存の状況です。そうでない場合は、addコマンドを実行してください。

groupadd mysql

useradd -r -g mysql mysql


#useradd -r参数表示mysql用户是系统用户,不可用于登录系统

データベースをインストールします

データディレクトリを作成する

cd mysql-5.7.31

mkdir data

 

/opt/mysql/mysql-5.7.31の所有者とグループをmysqlに変更します

chown -R mysql:mysql /export/servers/mysql-5.7.31

/export/servers/mysql-5.7.31/support-filesディレクトリにmy_default.cnfを作成します

# For advice on how to change settings please see
# http://dev.mysql.com/doc/refman/5.7/en/server-configuration-defaults.html
# *** DO NOT EDIT THIS FILE. It's a template which will be copied to the
# *** default location during install, and will be replaced if you
# *** upgrade to a newer version of MySQL.


[mysqld]
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

basedir = /export/servers/mysql-5.7.31
datadir = /export/servers/mysql-5.7.31/data
port = 3306
socket = /tmp/mysql.sock
character-set-server=utf8

log-error = /export/servers/mysql-5.7.31/data/mysqld.log
pid-file = /export/servers/mysql-5.7.31/data/mysqld.pid

上書きするかどうかを確認するメッセージが表示されたら、コピーします。y

cp support-files/my_default.cnf /etc/my.cnf

mysqldを初期化します

cd /export/servers/mysql-5.7.31
./bin/mysqld --initialize --user=mysql --basedir=/export/servers/mysql-5.7.31 --datadir=/export/servers/mysql-5.7.31/data/

初期化が完了したら、ログを確認してください

/export/servers/mysql-5.7.31/data/mysqld.log

仮パスワード

2019-04-08T06:14:29.790033Z 1 [Note] A temporary password is generated for root@localhost: a8?DQir=T+k+

起動スクリプトを起動初期化ディレクトリに配置します

cp support-files/mysql.server /etc/init.d/mysql

mysqlサービスを開始します

service mysql start

mysqlにログインします。パスワードは初期パスワードです。

 

cd /export/servers/mysql-5.7.31
./bin/mysql -u root -p
2020-09-23T09:29:18.970981Z 1 [Note] A temporary password is generated for root@localhost: .L6og)3HPuu1

パスワードを変更する

mysql> set password=password('123456');
mysql> grant all privileges on *.* to root@'%' identified by '123456';
mysql> flush privileges;

リモートアクセス許可を追加する 

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

このエラーはここに表示される場合があります

エラー1062(23000):キー 'PRIMARY'のエントリ '%-root'が重複しています

エラー1062(23000):更新ステートメントの実行時にキー「PRIMARY」エラーの重複エントリ「%-root」が表示された場合は、USERテーブルに複数のROOTユーザーが記録されていることを意味します。

ユーザーからホストを選択します。ここで、user = 'root';

ホストの値がすでに%になっているかどうかを確認してください。それだけです。

mysqlを再起動して有効にします

service mysql stop
service mysql start

 または

service mysql restart

 

おすすめ

転載: blog.csdn.net/qq_44065303/article/details/108757866