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,可登录数据库