1. 程式人生 > >Centos7編譯安裝Mysql

Centos7編譯安裝Mysql

使用 配置 fan 系統環境變量 CA mar padding 目錄 mysql5

環境說明 :


centos7.4 64位虛擬機


mysql5.7.21.tar.gz 編譯安裝需要虛擬機2G內存


安裝步驟如下:


1、安裝依賴包:

cmake:由於從 MySQL5.5 版本開始棄用了常規的 configure 編譯方法,所以需要 CMake 編譯

器,用於設置 mysql 的編譯參數。如:安裝目錄、數據存放目錄、字符編碼、排序規則等。

GCC 是 Linux 下的 C 語言編譯工具,mysql 源碼編譯完全由 C 和 C++編寫,要求必須安裝

GCC

bison:Linux 下 C/C++語法分析器

ncurses:字符終端處理庫


# yum -y install gcc gcc-c++ ncurses ncurses-devel bison libgcrypt perl make cmake


2、建立用戶,安裝目錄和數據目錄權限


# groupadd mysql

# useradd -g mysql -s /bin/false -M mysql

# mkdir -p /data/mysql/

# mkdir /usr/local/mysql

# chown -R mysql:mysql /data/mysql/


3、下載boost

Boost #從 MySQL 5.7.5 開始 Boost 庫是必需的,mysql 源碼中用到了 C++的 Boost 庫,要求

必須安裝 boost1.59.0 或以上版本


# mkdir /usr/local/boost

# cd /usr/local/src/

# wget https://sourceforge.net/projects/boost/files/boost/1.59.0/boost_1_59_0.tar.gz

# tar -xvf boost_1_59_0.tar.gz

# mv boost_1_59_0/* /usr/local/boost/


4、編譯安裝mysql


# cd /usr/local/src

# tar -xvf mysql-5.7.21.tar.gz

# cd mysql-5.7.21

# cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/data/mysql/ -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock -DMYSQL_USER=mysql -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DENABLE_DOWNLOADS=1 -DDOWNLOAD_BOOST=1 -DWITH_BOOST=/usr/local/boost


配置解釋: -DCMAKE_INSTALL_PREFIX=/usr/local/mysql [MySQL 安裝的根目 錄]

-DMYSQL_DATADIR=/usr/local/mysql /data [MySQL 數據庫文件存放目錄]

-DSYSCONFDIR=/etc [MySQL 配置文件所在目錄]

-DWITH_MYISAM_STORAGE_ENGINE=1 [添加 MYISAM 引擎支持 ]

-DWITH_INNOBASE_STORAGE_ENGINE=1 [添加 InnoDB 引擎支持 ]

-DWITH_ARCHIVE_STORAGE_ENGINE=1 [添加 ARCHIVE 引擎支持 ]

-DMYSQL_UNIX_ADDR=/usr/local/mysql /mysql.sock [指定 mysql.sock 位置 ]

-DWITH_PARTITION_STORAGE_ENGINE=1 [安裝支持數據庫分區 ]

-DEXTRA_CHARSETS=all [使 MySQL 支持所有的擴展字符]

-DDEFAULT_CHARSET=utf8 [設置 MySQL 的默認字符集為 utf8]

-DDEFAULT_COLLATION=utf8_general_ci [設置默認字符集校對規則 ]

-DWITH-SYSTEMD=1 [可以使用 systemd 控制 mysql 服務]

-DWITH_BOOST=/usr/local/boost [指向 boost 庫所在目錄]

更多參數執行 [root@localhost mysql-5.7.13]# cmake . –LH


# make && make install


5、mysql執行命令加入系統環境變量

# echo "export PATH=$PATH:/usr/local/mysql/bin" >>/etc/profile

# source /etc/profile


6、初始化

初始化完畢後在最後一行會顯示root用戶臨時密碼( A temporary password is generated for root@localhost:。。。。。


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

# cd /usr/local/mysql/bin/

# ./mysqld --initialize --user=mysql --basedir=/usr/local/mysql/ --datadir=/data/mysql/


7、修改my.cnf配置文件

# cat /etc/my.cnf

[mysqld]

datadir = /data/mysql

socket = /usr/local/mysql/mysql.sock

log_error = /data/mysql/mysql-error.log


8、啟動mysql

# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld

# chmod 755 /etc/init.d/mysqld

# chkconfig --add mysqld

# chkconfig mysqld on

# systemctl restart mysqld



9、登陸數據庫(密碼為第6步初始化後最後一行所顯示的臨時密碼)


# mysql -uroot -p








Centos7編譯安裝Mysql