centos7 mysql5.7.17源碼安裝

**安裝前準備node

操做系統環境:Centos 7.2mysql

一、解決依賴包並下載源碼包至/home/soft/目錄下c++

1
2
3
4
5
6
7
[root@node03 ~] # yum -y install gcc gcc-c++ ncurses ncurses-devel cmake bison
[root@node03 ~] # cd /home/soft/
[root@node03 soft] # wget https://sourceforge.net/projects/boost/files/boost/1.59.0/boost_1_59_0.tar.gz
[root@node03 soft] #tar -zxvf boost_1_59_0.tar.gz #解壓
[root@node03 soft] #mv boost_1_59_0 /usr/local/boost  #移動至/usr/local/boost/目錄下
[root@node03 soft] # wget http://cdn.mysql.com/Downloads/MySQL-5.7/mysql-5.7.17.tar.gz
[root@node03 soft] # tar -zxvf mysql-5.7.17.tar.gz

 

二、新建MySQL用戶和用戶組,建立/data/mysql 目錄存放mysql數據sql

1
2
[root@node03 soft] # groupadd -r mysql && useradd -r -g mysql -s /sbin/nologin -M mysql
[root@node03 soft] # mkdir -pv /data/mysql

 

三、預編譯及編譯安裝數據庫

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
[root@node03 soft] # cd mysql-5.7.17
[root@node03 mysql-5.7.17]
cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/data/mysql \
-DSYSCONFDIR=/etc \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_MEMORY_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DMYSQL_UNIX_ADDR=/data/mysql/mysqld.sock\
-DENABLED_LOCAL_INFILE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DWITH_BOOST=/usr/local/boost \
-DMYSQL_USER=mysql \
-DEXTRA_CHARSETS=all \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci

 

注:bash

DCMAKE_INSTALL_PREFIX=/usr/local/mysql:安裝路徑服務器

DMYSQL_DATADIR=/data/mysql:數據文件存放位置socket

DSYSCONFDIR=/etc:my.cnf路徑spa

DWITH_MYISAM_STORAGE_ENGINE=1:支持MyIASM引擎操作系統

DWITH_INNOBASE_STORAGE_ENGINE=1:支持InnoDB引擎

DMYSQL_UNIX_ADDR=/data/mysql/mysqld.sock:鏈接數據庫socket路徑

DMYSQL_TCP_PORT=3306:端口

DENABLED_LOCAL_INFILE=1:容許從本地導入數據

DWITH_PARTITION_STORAGE_ENGINE=1:安裝支持數據庫分區

DEXTRA_CHARSETS=all:安裝全部的字符集

DDEFAULT_CHARSET=utf8:默認字符

DWITH_EMBEDDED_SERVER=1:嵌入式服務器

1
[root@node03 mysql-5.7.17]
make -j4
make install #編譯安裝

 

四、設置啓動腳本,開機自啓動

1
2
3
4
5
6
[root@node03 ~] # chown -R mysql:mysql /usr/local/mysql
[root@node03 ~] # cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
[root@node03 ~] # chmod +x /etc/init.d/mysqld
ln -s /usr/local/mysql/bin/* /usr/local/bin/
[root@node03 ~] # chkconfig --add mysqld
chkconfig mysqld on
 

 

五、拷貝my.cnf至/etc/目錄下,並初始化數據庫

1
2
[root@node03 ~] # cp /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf
[root@node03 ~] # /usr/local/mysql/bin/mysqld  --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql

 

注:初始化最後一行是root用戶密碼(root@localhost: ,5j1Qj_LLAek)

六、啓動服務

service mysqld start
 

 

七、root管理員修改密碼

1
2
3
4
5
6
7
[root@node03 mysql] #mysql -uroot -p,5j1Qj_LLAek
mysql> SET PASSWORD = PASSWORD( '111111' );
Query OK, 0 rows affected, 1 warning (0.00 sec)
mysql> ALTER USER  'root' @ 'localhost'  PASSWORD EXPIRE NEVER;
Query OK, 0 rows affected (0.00 sec)
mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)
相關文章
相關標籤/搜索