はじめに
最近、とあるクラウドでイベントが開催され、日々の勉強やテストのためにサーバーを購入しました。新しいマシンには何もなく、一般的に使用されるいくつかの機能がインストールされています。ソフトウェアのインストールは避けられないため、第一にメモとして、第二に困っている学生への参考として、インストールプロセスを詳細に記録することを考えました。
Linux にソフトウェアをインストールするには、いくつかの一般的な方法があります。
ソース コードのコンパイル
圧縮パッケージの解凍 (通常は tar) .gz)
コンパイル済みインストール パッケージ (RPM、DPKG など)
オンライン インストール (YUM、APT など)
上記の方法は利便性が徐々に向上しますが、汎用性は低くなります。たとえば、圧縮パッケージを直接ダウンロードして解凍するなど、この方法では通常、追加の設定作業が必要になりますが、方法をマスターすると、それぞれの方法を使用できます。基本的にすべてのプラットフォームに適用できます。YUM はシンプルですが、プラットフォームとネットワークによって制限されます。必要に応じて、特定の YUM ソースを追加する必要があります。
複数のインストール方法をマスターするのが最善です。原則として、可能であれば最も簡単な方法を使用してください: YUM>RPM>tar.gz>ソース コード
この記事では、CentOS での MySQL のインストールについて紹介します。 、主な手順は、MySQL の公式ドキュメントに基づいています: dev.mysql.com/doc/refman/…
さまざまなインストール方法をテストするために、それを数回実行しました。インストールして削除しました。インストールを削除しました。すべての手順は私自身によって正常にテストされており、すべてのコマンドは私自身によって実行されています。安心して使用できます。
チャットをやめて、メインストーリーに戻りましょう (ゴシップがたくさんあります) ...)
1. YUM
0. インストールされている MySQL を削除します
Check MariaDB
shell> rpm -qa|grep mariadb mariadb-server-5.5.60-1.el7_5.x86_64 mariadb-5.5.60-1.el7_5.x86_64 mariadb-libs-5.5.60-1.el7_5.x86_64
Delete mariadb
If 存在しない場合 (上記のチェック結果は空を返します)、ステップをスキップしてください
shell> rpm -e --nodeps mariadb-server shell> rpm -e --nodeps mariadb shell> rpm -e --nodeps mariadb-libs
実際には、mariadb を削除せずに yum でインストールできます。MySQL をインストールすると上書きされます。以前に存在していた mariadb
Check MySQL
shell> rpm -qa|grep mysql
MySQL を削除
存在しない場合 (上記のチェック結果は空を返します)、ステップ
shell> rpm -e --nodeps xxxをスキップします。
1. MySQL Yum リポジトリの追加
CentOS 7 以降、MariaDB が Yum ソースのデフォルトのデータベース インストール パッケージになります。つまり、yum を使用して MySQL を CentOS 7 以降のシステムにインストールすると、MariaDB (MySQL のブランチ) がデフォルトでインストールされます。公式 MySQL バージョンをインストールする場合は、MySQL が提供する Yum ソースを使用する必要があります。
MySQL ソースのダウンロード
公式 Web サイトのアドレス: dev.mysql.com/downloads/r…
システム バージョンの表示:
shell> cat /etc/redhat-release CentOS Linux release 7.6.1810 (Core)
ダウンロードする対応するバージョンを選択します。たとえば、CentOS 7 の場合、現在、公式 Web サイトで最新の Yum ソースのダウンロード アドレスを確認してください: dev.mysql.com/get/mysql80…
shell> wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
MySQL ソースのインストール
shell> sudo rpm -Uvh platform-and-version-specific-package-name.rpm
たとえば、CentOS7 用の最新の MySQL ソース インストール:
shell> sudo rpm -Uvh mysql80-community-release-el7-3.noarch.rpm
インストールが成功したかどうかを確認します
実行が成功すると、 /etc/yum.repos.d にあります。 2 つのリポジトリ ファイル
mysql-community.repo と
mysql-community-source.repo
ディレクトリに移動し、yum repolist# を渡します。 ##mysql 関連のリソースが表示されます
shell> yum repolist enabled | grep "mysql.*-community.*" !mysql-connectors-community/x86_64 MySQL Connectors Community 108 !mysql-tools-community/x86_64 MySQL Tools Community 90 !mysql80-community/x86_64 MySQL 8.0 Community Server 1132. MySQL のバージョンを選択しますMySQL Yum リポジトリを使用して MySQL をインストールします。上記の MySQL ソースを介してインストールするなど、最新の安定したバージョンがデフォルトで選択されます。その場合、デフォルトのインストールでは MySQL 8.0 バージョンが選択されます。このバージョンをインストールするだけの場合は、この手順を直接スキップできます。そうでない場合は、たとえば、ここに MySQL 5.7 バージョンをインストールしたい場合は、「バージョンを切り替える」必要があります。 現在の MySQL Yum リポジトリにあるすべての MySQL バージョンを表示します (各バージョンは異なるサブリポジトリにあります)
shell> yum repolist all | grep mysql
Switch versionshell> sudo yum-config-manager --disable mysql80-community shell> sudo yum-config-manager --enable mysql57-community
yum-config-manager の使用に加えて、/etc/yum.repos.d/mysql-community.repo を直接編集することもできます。 file
[mysql80-community] name=MySQL 8.0 Community Server baseurl=http://repo.mysql.com/yum/mysql-8.0-community/el/7/$basearch/ enabled=0 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysqlenabled=1enable
# Enable to use MySQL 5.7 [mysql57-community] name=MySQL 5.7 Community Server baseurl=http://repo.mysql.com/yum/mysql-5.7-community/el/7/$basearch/ enabled=1 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql現在有効になっている MySQL ウェアハウスを確認します
shell> yum repolist enabled | grep mysql
複数のウェアハウスが有効になっている場合同時に、インストール中に最新バージョンが選択されます
3. MySQL のインストールshell> sudo yum install mysql-community-server
このコマンドは、MySQL サーバー (mysql-community-server) とその必要な依存関係をインストールします。 mysql-community-client、mysql-community-common、mysql-community-libs などの関連コンポーネント。 帯域幅が十分でない場合、この手順には長い時間がかかります。辛抱強くお待ちください~4. MySQL の起動Startshell> sudo systemctl start mysqld.service
CentOS 6:
shell> sudo service mysqld startステータスの確認
shell> sudo systemctl status mysqld.service
CentOS 6:
shell> sudo service mysqld status停止
shell> sudo systemctl stop mysqld.service
CentOS 6:
shell> sudo service mysqld stop再起動
shell> sudo systemctl restart mysqld.service
CentOS 6:
shell> sudo service mysqld restart5. パスワードを変更します 初期パスワードMySQL を初めて起動すると、スーパー管理者アカウント
root@localhost が作成され、初期パスワードがログ ファイルに保存されます。 :
shell> sudo grep 'temporary password' /var/log/mysqld.logデフォルトのパスワードを変更します
shell> mysql -uroot -p
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '123456'; ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
パスワードが単純すぎるため、上記のプロンプトが表示されます。解決策は次のとおりです:
使用复杂密码,MySQL默认的密码策略是要包含数字、字母及特殊字符;
如果只是测试用,不想用那么复杂的密码,可以修改默认策略,即
validate_password_policy
(以及validate_password_length
等相关参数),使其支持简单密码的设定,具体方法可以自行百度;修改配置文件
/etc/my.cnf
,添加validate_password=OFF
,保存并重启MySQL
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '123456'; Query OK, 0 rows affected (0.00 sec)
6、允许root远程访问
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION; mysql> FLUSH PRIVILEGES;
7、设置编码为utf8
查看编码
mysql> SHOW VARIABLES LIKE 'character%';
设置编码
编辑/etc/my.cnf,[mysqld]节点增加以下代码:
[mysqld] collation-server=utf8_unicode_ci init-connect='SET NAMES utf8'
8、设置开机启动
shell> systemctl enable mysqld shell> systemctl daemon-reload
二、RPM
除安装过程外,其他步骤和yum方式安装相同,不再赘述
0、删除已旧版本
略
1、下载MySQL安装包
下载地址:dev.mysql.com/downloads/m…
选择对应的版本:
shell> wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.26-1.el7.x86_64.rpm-bundle.tar
2、安装MySQL
解压(解打包)
shell> tar -xvf mysql-5.7.26-1.el7.x86_64.rpm-bundle.tar tar -xvf mysql-5.7.26-1.el7.x86_64.rpm-bundle.tar mysql-community-embedded-devel-5.7.26-1.el7.x86_64.rpm mysql-community-libs-5.7.26-1.el7.x86_64.rpm mysql-community-embedded-5.7.26-1.el7.x86_64.rpm mysql-community-test-5.7.26-1.el7.x86_64.rpm mysql-community-embedded-compat-5.7.26-1.el7.x86_64.rpm mysql-community-common-5.7.26-1.el7.x86_64.rpm mysql-community-devel-5.7.26-1.el7.x86_64.rpm mysql-community-client-5.7.26-1.el7.x86_64.rpm mysql-community-server-5.7.26-1.el7.x86_64.rpm
我们主要安装的是这四个(如果有需要也可以一并安装其它的):
mysql-community-libs-5.7.26-1.el7.x86_64.rpm mysql-community-common-5.7.26-1.el7.x86_64.rpm mysql-community-client-5.7.26-1.el7.x86_64.rpm mysql-community-server-5.7.26-1.el7.x86_64.rpm
如果不想下载rpm-bundle,官网也提供单独的rpm下载链接
安装
各rpm包是有依赖关系的,所以需要按照一定顺序进行安装,安装期间如果提示缺少哪些依赖也要先安装相应的包:
shell> rpm -ivh mysql-community-common-5.7.26-1.el7.x86_64.rpm shell> rpm -ivh mysql-community-libs-5.7.26-1.el7.x86_64.rpm shell> rpm -ivh mysql-community-client-5.7.26-1.el7.x86_64.rpm shell> rpm -ivh mysql-community-server-5.7.26-1.el7.x86_64.rpm
还有一种简单的方式,可以自动处理各个包之间的依赖关系并自动下载缺少的依赖:
shell> yum install mysql-community-{server,client,common,libs}-*
注意:上面的yum install
命令需要在tar解压之后的各个rpm包所在目录内执行,否则就变成yum方式安装了,需要配置MySQL的yum源并且速度很慢,还要当前机器支持外网访问
3、设置
略
三、tar.gz
0、删除旧版本
略
1、下载
下载地址:dev.mysql.com/downloads/m…
选择对应的版本:
shell> wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz
2、安装&配置:
依赖
MySQL依赖libaio库,如果没有先安装一下:
shell> yum install libaio
创建mysql用户
不需要登录的一个系统账号,启动MySQL服务时会使用该账号
shell> groupadd mysql shell> useradd -r -g mysql -s /bin/false mysql
解压并创建链接
shell> cd /usr/local shell> tar zxvf /path/to/mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz shell> ln -s mysql-5.7.26-linux-glibc2.12-x86_64/ mysql
创建mysql-files目录
这一步并不是必须的,可以设置secure_file_priv的值指向该目录(用于限制数据导入导出操作的目录)
shell> cd mysql shell> mkdir mysql-files shell> chown mysql:mysql mysql-files shell> chmod 750 mysql-files
初始化
shell> bin/mysqld --initialize --user=mysql
如果初始化时报错如下:
error while loading shared libraries: libnuma.so.1: cannot open shared object file: No such file or directory
是因为libnuma没有安装(或者默认安装的是32位),我们这里需要64位的:
shell> yum install numactl.x86_64
执行完后重新初始化即可 初始化成功后返回结果中有一行包含初始密码,第一次登录时要用到它:
A temporary password is generated for root@localhost: 8M0ary878s*U
启用SSL(非必须)
shell> bin/mysql_ssl_rsa_setup
启动
shell> bin/mysqld_safe --user=mysql &
查看进程可以看到一些默认参数,可以在配置文件中修改这些参数
shell> ps -ef | grep mysql root 14604 12719 0 00:03 pts/0 00:00:00 /bin/sh bin/mysqld_safe --user=mysql mysql 14674 14604 0 00:03 pts/0 00:00:00 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --plugin-dir=/usr/local/mysql/lib/plugin --user=mysql --log-error=VM_2_24_centos.err --pid-file=VM_2_24_centos.pid
设置环境变量
避免每次执行mysql命令都要加上路径,在/etc/profile
中添加:
export PATH=$PATH:/usr/local/mysql/bin
设置为服务
shell> cp support-files/mysql.server /etc/init.d/mysqld shell> service mysqld start|stop|restart|status
开机启动
shell> chkconfig --add mysqld shell> chkconfig --list mysqld mysqld 0:关 1:关 2:开 3:开 4:开 5:开 6:关
其他配置与yum、rpm相同,不再赘述
四、源码安装
就别费这个劲了吧...
结束语
我们不是Linux运维专家,也不是MySQL专家,生在这个年代也不知算是幸福还是不幸,线上的环境已经越来越少有人(主要指平时写代码的人)手动去搞这些数据库、中间件的安装配置了,为什么呢?因为各种云产品实在是太方便了呀,一般的公司也不会差这几个钱,既方便又稳定,何乐而不为呢~但是我们自己搞一搞用于自己测试还是必要的,而且还有不少公司的开发环境、测试环境偶尔还是需要手动搞一下的,当然,还有那些个自己搞机房的巨头们。
那我们既然不是专家,上面所写的内容如果有纰漏也是在所难免的,如果被看到了还希望能够及时批评指正~
更多MySQL相关技术文章,请访问MySQL教程栏目进行学习!
以上がCentOS への MySQL のインストールの詳細な説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

INNODBは、レドログと非論的なものを使用して、データの一貫性と信頼性を確保しています。 1.レドログは、クラッシュの回復とトランザクションの持続性を確保するために、データページの変更を記録します。 2.Undologsは、元のデータ値を記録し、トランザクションロールバックとMVCCをサポートします。

説明コマンドのキーメトリックには、タイプ、キー、行、および追加が含まれます。 1)タイプは、クエリのアクセスタイプを反映しています。値が高いほど、constなどの効率が高くなります。 2)キーは使用されているインデックスを表示し、nullはインデックスがないことを示します。 3)行はスキャンされた行の数を推定し、クエリのパフォーマンスに影響します。 4)追加の情報を最適化する必要があるというFilesortプロンプトを使用するなど、追加情報を提供します。

Temporaryを使用すると、MySQLクエリに一時テーブルを作成する必要があることが示されています。これは、異なる列、またはインデックスされていない列を使用して順番に一般的に見られます。インデックスの発生を回避し、クエリを書き直し、クエリのパフォーマンスを改善できます。具体的には、expliect出力に使用を使用する場合、MySQLがクエリを処理するために一時テーブルを作成する必要があることを意味します。これは通常、次の場合に発生します。1)個別またはグループビーを使用する場合の重複排除またはグループ化。 2)Orderbyに非インデックス列が含まれているときに並べ替えます。 3)複雑なサブクエリを使用するか、操作に参加します。最適化方法には以下が含まれます。1)OrderbyとGroupB

MySQL/INNODBは、4つのトランザクション分離レベルをサポートしています。 1.ReadunCommittedは、知らないデータを読み取ることができます。 2。読み込みは汚い読み取りを回避しますが、繰り返しのない読みが発生する可能性があります。 3. RepeatablerEadはデフォルトレベルであり、汚い読み取りと非回復不可能な読みを避けますが、幻の読み取りが発生する可能性があります。 4. Serializableはすべての並行性の問題を回避しますが、同時性を低下させます。適切な分離レベルを選択するには、データの一貫性とパフォーマンス要件のバランスをとる必要があります。

MySQLは、Webアプリケーションやコンテンツ管理システムに適しており、オープンソース、高性能、使いやすさに人気があります。 1)PostgreSQLと比較して、MySQLは簡単なクエリと高い同時読み取り操作でパフォーマンスが向上します。 2)Oracleと比較して、MySQLは、オープンソースと低コストのため、中小企業の間でより一般的です。 3)Microsoft SQL Serverと比較して、MySQLはクロスプラットフォームアプリケーションにより適しています。 4)MongoDBとは異なり、MySQLは構造化されたデータおよびトランザクション処理により適しています。

MySQLインデックスのカーディナリティは、クエリパフォーマンスに大きな影響を及ぼします。1。高いカーディナリティインデックスは、データ範囲をより効果的に狭め、クエリ効率を向上させることができます。 2。低カーディナリティインデックスは、完全なテーブルスキャンにつながり、クエリのパフォーマンスを削減する可能性があります。 3。ジョイントインデックスでは、クエリを最適化するために、高いカーディナリティシーケンスを前に配置する必要があります。

MySQL学習パスには、基本的な知識、コアの概念、使用例、最適化手法が含まれます。 1)テーブル、行、列、SQLクエリなどの基本概念を理解します。 2)MySQLの定義、作業原則、および利点を学びます。 3)インデックスやストアドプロシージャなどの基本的なCRUD操作と高度な使用法をマスターします。 4)インデックスの合理的な使用や最適化クエリなど、一般的なエラーのデバッグとパフォーマンス最適化の提案に精通しています。これらの手順を通じて、MySQLの使用と最適化を完全に把握できます。

MySQLの実際のアプリケーションには、基本的なデータベース設計と複雑なクエリの最適化が含まれます。 1)基本的な使用法:ユーザー情報の挿入、クエリ、更新、削除など、ユーザーデータの保存と管理に使用されます。 2)高度な使用法:eコマースプラットフォームの注文や在庫管理など、複雑なビジネスロジックを処理します。 3)パフォーマンスの最適化:インデックス、パーティションテーブル、クエリキャッシュを使用して合理的にパフォーマンスを向上させます。


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

ドリームウィーバー CS6
ビジュアル Web 開発ツール

Safe Exam Browser
Safe Exam Browser は、オンライン試験を安全に受験するための安全なブラウザ環境です。このソフトウェアは、あらゆるコンピュータを安全なワークステーションに変えます。あらゆるユーティリティへのアクセスを制御し、学生が無許可のリソースを使用するのを防ぎます。

SublimeText3 Linux 新バージョン
SublimeText3 Linux 最新バージョン

MantisBT
Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

WebStorm Mac版
便利なJavaScript開発ツール
