Centosはmysql8を手動でインストールします

ダウンロード##

公式サイトは遅すぎます。清華ミラーステーションからダウンロードしてください:[https://mirrors.tuna.tsinghua.edu.cn/mysql/downloads/MySQL-8.0/](https://mirrors.tuna.tsinghua.edu.cn/mysql/downloads/MySQL-8.0/)

バイナリバージョン##

バイナリバージョンは、公式のプリコンパイル済みバージョンです

バイナリリリースパッケージをダウンロードする###

wget https://mirrors.tuna.tsinghua.edu.cn/mysql/downloads/MySQL-8.0/mysql-8.0.11-el7-x86_64.tar.gz

ユーザーを作成###

useradd mysql

初期化###

目次:

tar xvfz mysql-8.0.11-el7-x86_64.tar.gz
cd mysql-8.0.11-el7-x86_64

ln -s $PWD /usr/local/mysql
chown -R mysql:mysql /usr/local/mysql

export PATH=$PATH:/usr/local/mysql/bin

mkdir -p /var/log/mariadb
chown -R mysql:mysql /var/log/mariadb

mkdir -p /var/run/mariadb
touch /var/log/mariadb/mariadb.log
chown -R mysql:mysql /var/run/mariadb

データベース:

mysqld --initialize --user=mysql

構成を確認してください###

vi /etc/my.cnf

/etc/my.cnfで構成されたdatadirが初期化中のものと同じであるかどうかを確認します。

[ mysqld]
datadir=/var/lib/mysql

[ client]
socket=/var/lib/mysql/mysql.sock

デフォルトのdatadirをinitディレクトリに変更する必要があります。

デフォルトのクライアントは/var/lib/mysql.sockであるため、次のようにのみログインできます。

mysql -uroot -p --socket=/var/lib/mysql/mysql.sock

したがって、アプリケーションがアクセスする前に、カスタムソックスを使用するようにデフォルトのクライアントアクセスを変更する必要があります。

構成サービス###

cp support-files/mysql.server /etc/init.d/mysqld
chmod a+x /etc/init.d/mysqld
chkconfig --add mysqld
chkconfig mysqld on
service mysqld start

エラーが報告された場合は、/ etc /my.cnfで構成されたdatadirが初期化中のものと同じであるかどうかを確認してください。

データテーブルと権限を初期化します###

mysql_secure_installation

コンパイルしてインストール##

必要がない場合は、コンパイルとインストールの方法を考慮しないでください。コンパイルは非常に遅く、依存関係の競合が発生すると、解決するのが非常に面倒になります。

何が必要ですか?

あなたはそれを理解しましたか?それから始まります。 。 。 。 (3時間準備)

インストールの依存関係###

yum install libaio -y
yum install glibc-devel.i686 glibc-devel -y
yum install gcc gcc-c++ cmake boost-devel openssl-devel ncurses-devel -y

ソースパッケージをダウンロード###

wget https://mirrors.tuna.tsinghua.edu.cn/mysql/downloads/MySQL-8.0/mysql-8.0.11.tar.gz

コンパイル###

tar xvfz mysql-8.0.11.tar.gz
cd mysql-8.0.11

cmake . \
- DDOWNLOAD_BOOST=1-DWITH_BOOST=/usr/include/boost \
- DCMAKE_INSTALL_PREFIX=/usr/local/mysql

# 次のプロセスは非常に遅いです
make && make install

フォローアップの手順はバイナリに似ていますが、一部のリンクにいくつかの問題があります。

ユーザーを作成###

useradd mysql

初期化###

目次:

chown -R mysql:mysql /usr/local/mysql

mkdir -p /var/log/mariadb
chown -R mysql:mysql /var/log/mariadb

export PATH=$PATH:/usr/local/mysql/bin

mkdir -p /var/run/mariadb
touch /var/log/mariadb/mariadb.log
chown -R mysql:mysql /var/run/mariadb

データベース:

mysqld --initialize --user=mysql

ここで問題が発生しました:###

この問題はバイナリバージョンでは発生しませんでした。分析後、次の公式Webサイト構成に従って構成ファイルを変更します。

[ mysqld]
character_set_server=latin1
collation_server=latin1_swedish_ci

https://dev.mysql.com/doc/relnotes/mysql/8.0/en/news-8-0-1.html

再初期化するだけです。

テスト後、次のように変更できます。

character-set-server = utf8
collation-server = utf8_general_ci

これは実際の状況に近いですが、なぜこのいわゆるmysql8新機能文字セット「utf8mb4_0900_ai_ci」がエラーを報告するのですか?

utf8mb4_0900_ai_ciに対応する文字セットは utf8ではなく utf8mb4であると推測されるため、 -DDEFAULT_CHARSET = utf8パラメータを使用した最初のコンパイルは、照合文字セットとして utf8mb4_0900_ai_ciを使用するmysql8defaultと競合します。

したがって、デフォルトの文字セットを utf8mb4に変更して、適応性を持たせます。

- DDEFAULT_CHARSET=utf8mb4 \

関連する文字セットと一致するように、これら2つの文字セットを完全に構成します。

- DDEFAULT_CHARSET=utf8 \
- DDEFAULT_COLLATION=utf8_general_ci \

構成サービス###

cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
chmod a+x /etc/init.d/mysqld
chkconfig --add mysqld
chkconfig mysqld on
service mysqld start

データテーブルと権限を初期化します###

mysql_secure_installation

コンパイルが失敗した場合はどうすればよいですか?

まず、理由または手がかりを見つけ、必要な依存関係をインストールするか、必要な環境を変更します。

シーンをクリーンアップします。

make clean
rm -f CMakeCache.txt

再開しました。

権限の問題##

mysql 8の権限管理方法が変更されました。以前の方法は、あまり役に立たない可能性があります。

mysql> create role app_read;
Query OK,0 rows affected(0.03 sec)

mysql> grant all on *.* to app_read;
Query OK,0 rows affected(0.07 sec)

mysql> create user root@'%' identified by 'dCa0tyVgN1&o';

イースターエッグ##

mysql8とは何かを知りたいだけの場合は、dockerで開始できます。

docker run -de MYSQL_ROOT_PASSWORD=123456-p 3306:3306--name mysql mysql:8.0.11

テスト:

docker exec -ti mysql mysql -uroot -p

パスワードは123456で、数分後、レンガが投げ捨てられます。

Recommended Posts

Centosはmysql8を手動でインストールします
CentOS7.2はMysql5.7.13をインストールします
CentOSインストールmysql
CentOS7インストールmysql
CentOS7はMySQL5.6をインストールします
CentOS8はMySQL8.0をインストールします
CentOS7はmysql8をインストールします
CentOS7はMySQL8をインストールします
centos7.5インストールmysql5.7.17
CentOS6.5オフラインインストールMySQL5.6.26
Centos7にMySQL5.7をインストールします
CentOS 7.2YumはMySQL5.6をインストールします
Centos7インストールMysql8チュートリアル
Centos7にmysqlをインストールします
Centos7はMysqlデータベースをインストールします
CentOS6.5の下にmysql5.1をインストールします
mysqlをcentosにオンラインでインストールする
centosはyumを介してmysqlをインストールします
LinuxCentosにMySQL8.0.16をインストールします
LinuxにMySQLをインストールする(CentOS 7)
Centos6インストールmysql5.7.xシリーズ
1.5Centos7をインストールする
CENTOS7はCEPHオリジナルを手動でインストールします
CentOS8はMySQL8をインストールします(プロテスト)
CentOS8にMySQLをインストールする方法
CentOS7yumはmysqlをインストールして起動します
CentOS 7はNginx、PHP、MySQLパッケージをインストールします
CentOS7にDockerを使用してMySqlをインストールする
Linux CentOS7(Windows)にMySQLをインストールする
CentOS7yumはmysqlをインストールして起動します
Centos7とcentos8はmysql5.65.78.0をインストールするのでとても簡単です
Centos yum installmysql5.6以降
MySQL5.7をインストールするためのcentos7。* tarパッケージ
Centos6はPython2.7.13をインストールします
CentOSはRedmineをインストールします
Centos7はPython3.6をインストールします。
CentOS7はDockerをインストールします
CentOS7はGlusterFSをインストールします
CentOS7.4はZabbix3.4をインストールします
CentOS7はDockerをインストールします
Centos6.5はTomcatをインストールします
CentOSはPython3.6をインストールします
VmwareはCentOS6をインストールします
centos7 install docker-ce 18.01.0
CentOS7.2はMariaDBをインストールします
Centos7はPython2.7をインストールします
CentOS7.3はZabbix3をインストールします
Centos7はLAMP + PHPmyadminをインストールします
CentOSはopenjdk1.8をインストールします
CENTOS6.5インストールCDH5.12.1(1)
CentOSはPHPをインストールします
CentOS6はmist.ioをインストールします
Centos7はDockerをインストールします
centOsはrabbitMQをインストールします
Centos7はNginxをインストールします
CentOS6.5はCDH5.13をインストールします
Centos7インストールdocker18
CentosはPython3をインストールします
centos7インストールドッカー
CentOSインストールjdk
centos7インストールnginx-rtmp