MySQLデータベースをコンパイルしてインストールする方法を教え、コマンドを説明します(バージョン5.7)

1つは、MySQLのインストールに必要な環境依存パッケージです。

[root@localhost opt]# yum -y install \
gcc \
gcc-c++ \
make \
ncurses \
ncurses-devel \
bison \
cmake

環境に依存するパッケージの説明

gcc C言語コンパイラ
gcc-c ++ C ++コンパイラ
作る ソースコードのコンパイル(ソースコードはバイナリファイルに変換されます)

2.実行中のアカウントを作成します

[root@localhost ~]# useradd -s /sbin/nologin  mysql

3、コンパイルしてインストールします

[root@localhost ~]# cd /opt
[root@localhost opt]# tar xzvf mysql-boost-5.7.20.tar.gz
[root@localhost opt]#cd /opt/mysql-5.7.20/
[root@localhost mysql-5.7.20]#
cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \
-DSYSCONFDIR=/etc \
-DSYSTEMD_PID_DIR=/usr/local/mysql \
-DDEFAULT_CHARSET=utf8  \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DWITH_BOOST=boost \
-DWITH_SYSTEMD=1

[root@localhost mysql-5.7.20]#make -j3
[root@localhost mysql-5.7.20]#make install

構成オプションの意味

  • DCMAKE_INSTALL_PREFIX:mysqlデータベースプログラムをディレクトリ/ usr / local / mysqlなどの特定のディレクトリにインストールするように指定します。

  • DMYSQL_UNIX_ADDR:データベースに接続されているファイルであるソケットファイルのストレージパスを指定します

  • DSYSCONFDIR:初期化パラメータファイルディレクトリを指定します

  • DDEFAULT_CHARSET:utf8など、デフォルトで使用される文字セットエンコーディングを指定します。

  • DDEFAULT_COLLATION:デフォルトの文字セットの照合ルールを指定します。utf8_general_ciはUTF-8文字セットの一般的なルールです。

  • DWITH_INNOBASE_STORAGE_ENGINE = 1:INNOBASEストレージエンジンをインストールします

  • DWITH_ARCHIVE_STORAGE_ENGINE = 1:ARCHIVEストレージエンジンをインストールします

  • DWITH_BLACKHOLE_STORAGE_ENGINE = 1:ARCHIVEストレージエンジンをインストールします

  • DWITH_PERFSCHEMA_STORAGE_ENGINE:FEDERATEDストレージエンジンをインストールします

  • DMYSQL_DATADIR = / data / mysql:データインストールパス

ストレージエンジンをコンパイルしないように明示的に指定するには、次のようなオプションを使用できます。
-DWITHOUT__STORAGE_ENGINE= 1

SSLなどの他の関数にコンパイルする場合は、次のようなオプションを使用して、ライブラリを使用するか、コンパイル時にライブラリを使用しないことができます。
-DWITH_READLINE= 1
-DWITH_SSL = systemは、システムに
組み込まれているSSLライブラリを使用することを意味します-DWITH_ZLIB =システム
-DWITH_LIBWRAP = 0

その他の一般的に使用されるオプション:
-DMYSQL_TCP_PORT = 3306:デフォルトポートを設定します
-DMYSQL_UNIX_ADDR = /tmp/mysql.sock:MySQLプロセス間通信用のソケットの場所
-DENABLED_LOCAL_INFILE = 1:ローカルを開始するかどうかLOCAL_INFILE
-DEXTRA_CHARSETS = all:サポートどの追加文字セット
-DDEFAULT_CHARSET = utf8:デフォルトの文字セット
-DDEFAULT_COLLATION = utf8_general_ci:デフォルトの文字セット照合
-DWITH_DEBUG = 0:DEBUG機能
を有効にするかどうか-DENABLE_PROFILING = 1:パフォーマンス分析機能を有効にするかどうか


  • CMAKEプロセスにエラーがある場合-エラーが解決された後、ソースディレクトリのCMakeCache.txtファイルを削除してから、再度CMAKEする必要があります。そうしないと、エラーが残ります。
  • 报错:make:***ターゲットが指定されておらず、makefileが見つかりません。Stop。解决方法
    1、wget http://ftp.gnu.org/pub/gnu/ncurses/ncurses-5.6.tar.gz
    2.、tar zxvf ncurses-5.6.tar.gz
    3、。/ configure -prefix = / usr / local -with-shared-without-debug
    4、make
    5、make install

4、データベースディレクトリのアクセス許可の変更

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

5、構成ファイルを変更します

vi /etc/my.cnf

[client]
port = 3306
default-character-set=utf8
socket = /usr/local/mysql/mysql.sock

[mysql]
port = 3306
default-character-set=utf8
socket = /usr/local/mysql/mysql.sock

[mysqld]
user = mysql
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data
port = 3306
character_set_server=utf8
pid-file = /usr/local/mysql/mysqld.pid
socket = /usr/local/mysql/mysql.sock
server-id = 1

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_AUTO_VALUE_ON_ZERO,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,PIPES_AS_CONCAT,ANSI_QUOTES

[root@localhost ~]# chown mysql:mysql /etc/my.cnf

6、環境変数を設定します

echo 'PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH' >> /etc/profile
echo 'export PATH' >> /etc/profile
source /etc/profile

7、データベースを初期化します

cd /usr/local/mysql/

bin/mysqld \
--initialize-insecure \
--user=mysql \
--basedir=/usr/local/mysql \
--datadir=/usr/local/mysql/data

cp usr/lib/systemd/system/mysqld.service /usr/lib/systemd/system/
systemctl enable mysqld
systemctl start mysqld
systemctl status mysqld
netstat -anpt | grep 3306

8.ログインパスワードを設定し、データベースにログインします

mysqladmin -u root -p password "abc123" ##刚开始没密码是空的直接回车,然后输入密码abc123,在此确认abc123,这是在root账户下运行的
mysql -u root -p     ##这个命令敲下,提示要输入密码,这个就是刚才设置的密码abc123,可登录数据库

おすすめ

転載: blog.csdn.net/qq_41786285/article/details/109314823