この記事では、バイナリtarballMySQLのインストールについて説明します。バイナリtarballを使用したMySQL8のインストールについて説明し、バイナリtarballを使用してCentOS7にMySQL8をインストールします。バイナリtarballベースのインストールには、独自の長所と短所があります。これについて説明します。バイナリtarballからのインストールは、Linuxディストリビューションまたはディストリビューションが使用するinitシステムとは無関係です。これは、同じインストール方法が、たとえばRPMおよびデッドベースのシステムで機能することを意味しますが、Gen2などのよりエキゾチックなディストリビューションでも機能します。 macOS用のバイナリtarballも利用可能であり、インストール手順もそれほど変わりません。この方法には、より手動の単語が必要です。 mysql_install_dbスクリプトはMySQL5.7で非推奨になり、MySQL 8から削除されました。最初のデータベース作成は、mysqld –initializeコマンドを使用して実行できます。 MySQLを手動でインストールするので、mysqld –initializeコマンドを使用して空のデータベースを作成します。
まず、クリーンアップを行いましょう。競合するmy.cnfを提供する非常に古いバージョンのmariadb-libsを削除します。
Mariadbライブラリを削除します:
[[email protected] ~]# sudo yum remove -y mariadb-libs
MySQLコミュニティ調査8.0のソースtarballをダウンロード
[[email protected] ~]# curl -L -O https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.11-linux-glibc2.12-x86_64.tar.gz % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 100 575M 100 575M 0 0 7726k 0 0:01:16 0:01:16 --:--:-- 8516k
[[email protected] ~]# ll -rw-r--r--. 1 root root 603019898 Jul 23 10:31 mysql-8.0.11-linux-glibc2.12-x86_64.tar.gz
tarballはダウンロードされないので、usr/localに解凍しましょう
[[email protected] ~]# sudo tar xvfz mysql-8.0.11-linux-glibc2.12-x86_64.tar.gz -C /usr/local/
前提条件の完了
libaioをインストールしましょう。
[[email protected] ~]# sudo yum -y install libaio
Create a MySQL group, this is normally done by the packages but because we are installing it manually from binary tarball now we need to do it.
[[email protected] ~]# sudo groupadd mysql
MySQLユーザーを作成しましょう
[[email protected] ~]# sudo useradd -r -g mysql -s /bin/false mysql
mysqlユーザーがそこにいることを確認します
[[email protected] ~]# getent passwd | grep mysql mysql:x:988:1001::/home/mysql:/bin/false
/ usr / localを取得し、シンボリックリンクを作成して確認します
[[email protected] ~]# cd /usr/local [[email protected] local]# sudo ln -s mysql-8.0.11-linux-glibc2.12-x86_64 mysql [[email protected] local]# ls -la mysql lrwxrwxrwx. 1 root root 35 Jul 23 15:08 mysql -> mysql-8.0.11-linux-glibc2.12-x86_64
/ usr / local /
にある間、データセットの所有権と権限を保持するMySQLファイルディレクトリを作成します[[email protected] local]# sudo mkdir mysql-files [[email protected] local]# sudo chown mysql:mysql mysql-files [[email protected] local]# sudo chmod 750 mysql-files
MySQLを初期化する
mysqlディレクトリに移動してmysqldを初期化します。以前のバージョンでは、これはmysql_installed_dbと呼ばれていました
[[email protected] local]# cd mysql [[email protected] mysql]# sudo ./bin/mysqld --initialize --user=mysql 2020-07-23T12:12:10.028247Z 0 [System] [MY-013169] [Server] /usr/local/mysql-8.0.11-linux-glibc2.12-x86_64/bin/mysqld (mysqld 8.0.11) initializing of server in progress as process 25014 2020-07-23T12:12:15.470538Z 5 [Note] [MY-010454] [Server] A temporary password is generated for [email protected]: Hqn+jK6lfzNS 2020-07-23T12:12:18.875370Z 0 [System] [MY-013170] [Server] /usr/local/mysql-8.0.11-linux-glibc2.12-x86_64/bin/mysqld (mysqld 8.0.11) initializing of server has completed
一時的なルートパスワードが生成されることに注意してください。私の場合は([email protected]:Hqn + jK6lfzNS)
initスクリプトをsupport-filesから/etc/init.d
にコピーします[[email protected] mysql]# sudo cp ./support-files/mysql.server /etc/init.d/
コピーしたinitファイルでmysqlサーバーを起動します
[[email protected] mysql]# sudo /etc/init.d/mysql.server start Starting MySQL.Logging to '/usr/local/mysql/data/localhost.localdomain.err'. . SUCCESS!
ここで、以前に生成された一時的なパスワードを提供して、romysqlに接続します
[[email protected] mysql]# ./bin/mysql -uroot -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 8 Server version: 8.0.11 Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql>
rootユーザーの一時的なパスワードを変更しましょう。
mysql> alter user 'root'@'localhost' identified by 'My_root_pass1!'; Query OK, 0 rows affected (0.07 sec)
ソケットファイルの場所を確認してください:
mysql> show variables like 'socket'; +---------------+-----------------+ | Variable_name | Value | +---------------+-----------------+ | socket | /tmp/mysql.sock | +---------------+-----------------+ 1 row in set (0.01 sec)
MySQLを使用しているときにクライアントプログラムのパス名を常に入力する必要がないように、PATH変数に/ usr / local / mysql/binディレクトリを追加できます。
[[email protected] mysql]# export PATH=$PATH:/usr/local/mysql/bin
[[email protected] mysql]# ps -ef | grep mysql root 25130 1 0 15:16 pts/1 00:00:00 /bin/sh /usr/local/mysql/bin/mysqld_safe --datadir=/usr/local/mysql/data --pid-file=/usr/local/mysql/data/localhost.localdomain.pid mysql 25215 25130 1 15:16 pts/1 00:00:42 /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=localhost.localdomain.err --pid-file=/usr/local/mysql/data/localhost.localdomain.pid root 26171 21375 0 16:21 pts/1 00:00:00 mysql -uroot -px xxxxxxxxxxxx root 26191 25365 0 16:23 pts/2 00:00:00 grep --color=auto mysq