Centos7 の MySQL5.7 のインストール手順
- (1) yumソースを使用してインストールする
- (2)、ローカル tar ファイルのインストール
以前はいつも mysql をウィンドウにインストールしていましたが、mysql の実際のアプリケーションはサーバーにインストールされているので記録します
この記事では、mysql をインストールする 2 つの方法を記録します。
1.yumソースを使用してインストールします。
次に、ローカルの tar ファイルを使用してインストールします。
(1) yumソースを使用してインストールする
1. システムに付属の mariadb をアンインストールします。
MariaDB サーバーは、最も人気のあるオープンソース リレーショナル データベースの 1 つです。これは MySQL の元の開発者によって作成されており、オープンソースであり続けることが約束されています。
MariaDB は CentOS 7 にデフォルトでインストールされます
無視しても問題ありません。MariaDB は、インストール完了後に直接上書きできます。
- システムに付属の Mariadb を表示してアンインストールする
[root@localhost /]# rpm -qa|grep mariadb
mariadb-libs-5.5.68-1.el7.x86_64
[root@localhost /]# rpm -e --nodeps mariadb-libs-5.5.68-1.el7.x86_64
[root@localhost /]# rpm -qa|grep mariadb
2. 公式 MySQL Yum をダウンロードしてインストールします。
CentOS の yum ソースには mysql が存在しないため、mysql の公式 Web サイトから yum リポジトリ設定ファイルをダウンロードする必要があります
2.1 mysql の yum ソース設定をダウンロードする
[root@localhost ~]# wget http://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm
--2023-02-25 06:24:11-- https://repo.mysql.com//mysql57-community-release-el7-11.noarch.rpm
正在解析主机 repo.mysql.com (repo.mysql.com)... 23.212.157.5
...
...
100%[=========================================================================>] 25,680 --.-K/s 用时 0s
2023-02-25 06:24:19 (180 MB/s) - 已保存 “mysql57-community-release-el7-11.noarch.rpm” [25680/25680])
[root@localhost ~]# ls
anaconda-ks.cfg mysql57-community-release-el7-11.noarch.rpm 模板 图片 下载 桌面
initial-setup-ks.cfg 公共 视频 文档 音乐
2.2 mysqlのyumソースをインストールする
コマンドを実行すると、/etc/yum.repos.d/ ディレクトリに 2 つのリポジトリ ファイルが生成されます。
mysql-コミュニティ.リポジトリ
mysql-community-source.repo
[root@localhost ~]# yum -y install mysql57-community-release-el7-11.noarch.rpm
已加载插件:fastestmirror, langpacks
正在检查 mysql57-community-release-el7-11.noarch.rpm: mysql57-community-release-el7-11.noarch
mysql57-community-release-el7-11.noarch.rpm 将被安装
...
...
已安装:
mysql57-community-release.noarch 0:el7-11
完毕!
[root@localhost ~]# ls /etc/yum.repos.d/
CentOS-Base.repo CentOS-fasttrack.repo CentOS-Vault.repo mysql-community-source.repo
CentOS-CR.repo CentOS-Media.repo CentOS-x86_64-kernel.repo
CentOS-Debuginfo.repo CentOS-Sources.repo mysql-community.repo
2.3 yum を使用して mysql をインストールする
[root@localhost ~]# yum -y install mysql-server
2.3.1 インストール中のエラー報告
エラーがなければ無視してください
- 問題の説明
警告:/var/cache/yum/x86_64/7/mysql57-community/packages/mysql-community-common-5.7.41-1.el7.x86_64.rpm: 头V4 RSA/SHA256 Signature, 密钥 ID 3a79bd29: NOKEY
mysql-community-common-5.7.41-1.el7.x86_64.rpm 的公钥尚未安装
mysql-community-libs-compat-5.7.41-1.el7.x86_64.rpm 的公钥尚未安装
失败的软件包是:mysql-community-libs-compat-5.7.41-1.el7.x86_64
GPG 密钥配置为:file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
- 解決策:再インストール時に
コマンドを実行します。rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
运行命令
[root@localhost ~]# rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
重新安装
[root@localhost ~]# yum -y install mysql-server
3.mysqlの使用と設定
3.1 mysqlを起動してステータスを確認する
[root@localhost ~]# systemctl start mysqld.service
[root@localhost ~]# systemctl status mysqld.service
3.2 一時パスワードを取得する
初回ログイン時に必要、ログイン後もパスワード変更可能
[root@localhost ~]# cat /var/log/mysqld.log | grep password
2023-02-25T12:00:58.723624Z 1 [Note] A temporary password is generated for root@localhost: 1!L#qo3?d6i=
3.3 mysqlへのログイン
パスワードは先ほど取得した仮パスワード、つまり
1!L#qo3?d6i=
[root@localhost ~]# mysql -u root -p
Enter password:
3.4 ログインパスワードの変更
パスワード設定が単純すぎる場合は、エラーが表示されます。
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'Wxq3012@';
Query OK, 0 rows affected (0.00 sec)
4. リモートアクセスを設定する
4.1 mysql へのリモート アクセスを有効にする
mysqlコマンドラインに入力します
コマンド内で % を使用してすべての IP を表します。必要に応じて、指定した IP に置き換えることができます。
mysql> grant all privileges on *.* to 'root'@'%' identified by 'Wxq3012@' with grant option;
Query OK, 0 rows affected, 1 warning (0.00 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
4.2 firewalld 用にオープンポート 3306 を追加
[root@localhost ~]# firewall-cmd --zone=public --add-port=3306/tcp --permanent
success
重启配置
[root@localhost ~]# firewall-cmd --reload
success
4.3 リモート接続テスト
5. この時点で、mysql のインストールは完了です。
上に花を散らす
(2)、ローカル tar ファイルのインストール
1. tar インストール パッケージ ファイルを取得します。
1.1 mysql5.7 インストールパッケージをダウンロードする
- MySQL インストール パッケージの公式ダウンロード アドレス: https://dev.mysql.com/downloads/mysql/5.7.html
1.2 パッケージを Linux サーバーにアップロードする
インストールパッケージはXFTPソフトウェアを介してサーバーにアップロードできます
- Linux サーバーのルート ディレクトリの下に 2 つのフォルダーを作成します。
- tools フォルダーには、ソフトウェア インストール パッケージを保存します
- az フォルダーに、インストールされたソフトウェアを保存します
[root@localhost /]# cd /
[root@localhost /]# mkdir tools
[root@localhost /]# mkdir az
- ダウンロードした MySQL インストール パッケージをツール フォルダーにアップロードします。
[root@localhost /]# ls /tools/
mysql-5.7.41-linux-glibc2.12-x86_64.tar
2. インストール前に設定を確認する
2.1 CentOS7 システムには mariadb が付属していますのでアンインストールします
MariaDB サーバーは、最も人気のあるオープンソース リレーショナル データベースの 1 つです。これは MySQL の元の開発者によって作成されており、オープンソースであり続けることが約束されています。
MariaDB は CentOS 7 にデフォルトでインストールされます
- システムに付属の Mariadb を表示してアンインストールする
[root@localhost /]# rpm -qa|grep mariadb
mariadb-libs-5.5.68-1.el7.x86_64
[root@localhost /]# rpm -e --nodeps mariadb-libs-5.5.68-1.el7.x86_64
[root@localhost /]# rpm -qa|grep mariadb
2.2 システムに MySQL がインストールされているかどうかを確認する
[root@localhost /]# rpm -qa | grep mysql
- MySQL がシステム内にある場合は、MySQL に対応するすべてのフォルダーをクエリし、すべて削除します。
[root@localhost /]# whereis mysql
[root@localhost /]# find / -name mysql
2.3 MySQL ユーザーグループがあるかどうかを確認する
MySQL ユーザーグループがあるかどうかを確認し、存在しない場合は作成します。
- mysqlユーザーグループが存在するかどうかを確認する
[root@localhost /]# cat /etc/group | grep mysql
[root@localhost /]# cat /etc/passwd | grep mysql
- mysql ユーザーグループとユーザーを作成する
[root@localhost /]# groupadd mysql
[root@localhost /]# useradd -r -g mysql mysql
3. MySQL 5.7 をインストールする
3.1 ダウンロードしたtarファイルを解凍します。
- ダウンロードした mysql-5.7.41-linux-glibc2.12-x86_64.tar ファイルを解凍し、
mysql-5.7.41-linux-glibc2.12-x86_64.tar.gz ファイルを取得します。
[root@localhost /]# mysql-5.7.41-linux-glibc2.12-x86_64.tar.gz
3.2 tar.gz ファイルを解凍します。
- mysql-5.7.41-linux-glibc2.12-x86_64.tar.gz ファイルを /az/ フォルダーに解凍します。
3.3 フォルダー名の変更
- フォルダー名をmysql5.7に変更します。
[root@localhost az]# mv mysql-5.7.41-linux-glibc2.12-x86_64/ mysql5.7
[root@localhost az]# ls
mysql5.7
3.4 フォルダーのアクセス許可を変更する
- 権限の問題を回避するには、mysql5.7 ディレクトリ内のすべてのフォルダーのユーザー グループ、ユーザー、権限を変更します。
[root@localhost az]# chown -R mysql:mysql /az/mysql5.7/
[root@localhost az]# chmod -R 755 /az/mysql5.7/
3.5 mysqlの初期化とパスワードの取得
- ** /az/mysql5.7/bin/ ディレクトリに入り、mysql をコンパイル、インストール、初期化します **
データベース管理者の一時パスワードを必ず覚えておいてください
[root@localhost bin]# ./mysqld --initialize --user=mysql --datadir=/az/mysql5.7/data --basedir=/az/mysql5.7
2023-02-23T22:43:52.131986Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
...
...
2023-02-23T22:43:52.554378Z 1 [Note] A temporary password is generated for root@localhost: Pyq#VB8mieDS
3.6 my.cnf 設定ファイルをコンパイルする
3.6.1 my.cnf 構成ファイルを変更する
[root@localhost bin]# vim /etc/my.cnf
[mysqld]
datadir=/az/mysql5.7/data
port = 3306
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
symbolic-links=0
max_connections=400
innodb_file_per_table=1
表名存储在磁盘是小写的,但是比较的时候是不区分大小写
lower_case_table_names=1
3.6.1 my.cnf 権限を変更する
[root@localhost bin]# chmod -R 755 /etc/my.cnf
3.7 mysql.server ファイルをコンパイルする
/usr/local/mysq ディレクトリがインストールされていないため、インストールされている /az/mysql5.7 ディレクトリに変更する必要があります。
[root@localhost bin]# vim /az/mysql5.7/support-files/mysql.server
4.mysqlサービスをセットアップする
4.1 クエリサービス
[root@localhost ~]# ps -ef | grep mysql
root 2031 1778 0 06:27 pts/0 00:00:00 tar -x mysql-5.7.41-linux-glibc2.12-x86_64.tar
root 2396 1778 0 06:55 pts/0 00:00:00 grep --color=auto mysql
[root@localhost ~]# ps -ef | grep mysqld
root 2398 1778 0 06:55 pts/0 00:00:00 grep --color=auto mysqld
4.2 サービスを開始する
[root@localhost ~]# /az/mysql5.7/support-files/mysql.server start
Starting MySQL.Logging to '/az/mysql5.7/data/localhost.localdomain.err'.
SUCCESS!
4.3 ソフト接続を追加してサービスを再起動する
[root@localhost ~]# ln -s /az/mysql5.7/support-files/mysql.server /etc/init.d/mysql
[root@localhost ~]# ln -s /az/mysql5.7/bin/mysql /usr/bin/mysql
[root@localhost ~]# service mysql restart
Shutting down MySQL.. SUCCESS!
Starting MySQL. SUCCESS!
[root@localhost ~]#
5.mysqlの使用と設定
5.1 mysqlへのログイン
パスワードは初期化時に生成される一時的なパスワードです。
[root@localhost ~]# mysql -u root -p
Enter password:
5.2 パスワードの変更
mysql> set password for root@localhost = password('root');
Query OK, 0 rows affected, 1 warning (0.00 sec)
mysql>
6. リモートアクセスを設定する
6.1 mysql へのリモート アクセスを有効にする
mysql> use mysql;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
mysql> update user set user.Host='%' where user.User='root';
Query OK, 1 row affected (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 0
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
6.2 ブートが自動的に開始されるように設定する
将服务文件拷贝到init.d下,并重命名为mysql
[root@localhost ~]# cp /az/mysql5.7/support-files/mysql.server /etc/init.d/mysqld
赋予可执行权限
[root@localhost ~]# chmod +x /etc/init.d/mysqld
添加服务
[root@localhost ~]# chkconfig --add mysqld
显示服务列表
[root@localhost ~]# chkconfig --list
6.3 ポート 3306 を開く
开放3306端口命令
[root@localhost ~]# firewall-cmd --zone=public --add-port=3306/tcp --permanent
success
重启防火墙
[root@localhost ~]# firewall-cmd --reload
success
6.4 リモート接続テスト
7. この時点で、mysql のインストールは終了です。
上に花を散らす