centos7下原始碼安裝mysql5 7 16

2021-09-07 08:46:31 字數 4649 閱讀 1594

二、安裝約定:

使用者名稱:mysql

安裝目錄:/data/mysql

資料庫目錄:/data/mysql/data

三、安裝準備

1、新增使用者

> useradd -s /sbin/nologin mysql

2、建立目錄

> mkdir /data/mysql

3、改變目錄擁有者和所屬者

> chown -r mysql:mysql /data/mysql

4、安裝編輯所需的檔案

> yum install gcc gcc-c++ cmake bison-devel ncurses-devel libaio libaio-devel

(*mysql5.7.5以上版本需要安裝boost)

> yum install boost boost-devel

5、解壓原始碼包

> tar -xf mysql-5.7.16.tar.gz

四、編譯安裝

> cd /data/mysql-5.7.16

> cmake \

-dmysql_user=mysql \

-dcmake_install_prefix=/data/mysql \

-dmysql_datadir=/data/mysql/data \

-dsysconfdir=/data/mysql \

-dwith_myisam_storage_engine=1 \

-dwith_innobase_storage_engine=1 \

-dwith_memory_storage_engine=1 \

-dinstall_plugindir=/data/mysql/plugin \

-dwith_readline=1 \

-dmysql_unix_addr=/data/mysql/mysql.sock \

-dmysql_tcp_port=3306 \

-denabled_local_infile=1 \

-dwith_partition_storage_engine=1 \

-dextra_charsets=all \

-ddefault_charset=utf8 \

-ddefault_collation=utf8_general_ci \

-ddownload_boost=1 \

-dwith_boost=/usr/local/boost

(*注意,如果出錯,需刪除cmakecache.txt,重新執行配置)

關於上面引數的解釋如下:

#mysql使用者名稱

-dmysql_user=mysql

#安裝路徑

-dcmake_install_prefix=/data/mysql

#資料檔案存放位置

-dmysql_datadir=/data/mysql/data

#my.cnf路徑

-dsysconfdir=/data/mysql

#支援myiasm引擎

-dwith_myisam_storage_engine=1

#支援innodb引擎

-dwith_innobase_storage_engine=1

#支援memory引擎

-dwith_memory_storage_engine=1

#外掛程式檔案及配置路徑

-dinstall_plugindir=/data/mysql/plugin

#快捷鍵功能(我沒用過)

-dwith_readline=1

#連線資料庫socket路徑

-dmysql_unix_addr=/data/mysql/mysql.sock

#埠-dmysql_tcp_port=3306

#允許從本地匯入資料

-denabled_local_infile=1

#安裝支援資料庫分割槽

-dwith_partition_storage_engine=1

#安裝所有的字符集

-dextra_charsets=all

#預設字元

-ddefault_charset=utf8

#校驗字元

-ddefault_collation=utf8_general_ci

-ddownload_boost=1

#指定boost目錄

-dwith_boost=/usr/local/boost

編譯安裝

> make && make install

複製配置檔案

> cp /data/mysql/support-files/my-default.cnf /data/mysql/my.cnf

初始化資料庫

> /data/mysql/bin/mysqld \

--defaults-file=/data/mysql/my.cnf \

--initialize \

--user=mysql \

--basedir=/data/mysql \

--datadir=/data/mysql/data \

如果出現如下資訊:

unknown variable 'defaults-file=/data/mysql/my.cnf'

請保證--defaults-file配置選項在最前面。

如果出現如下資訊:

[error] --initialize specified but the data directory has files in it. aborting.

請保證的你的datadir目錄下為空,如果有檔案則刪除。

mysql5.7版本通過--initialize安裝會隨機生成root密碼,請注意儲存。

如果希望生成空密碼請使用--initialize-insecure配置。

修改mysql目錄擁有者

> chown -r mysql:mysql /data/mysql

五、配置mysql配置檔案my.cnf

由於我們在編譯安裝mysql的時候設定了它的配置檔案目錄為/data/mysql,所以刪掉/etc/my.cnf。

以免受影響。

> rm -rf /etc/my.cnf

> vi /data/mysql/my.cnf

配置如下:

[client]

default-character-set = utf8

port = 3306

socket = /data/mysql/mysql.sock

[mysql]

default-character-set = utf8

[mysqld]

skip-name-resolve

basedir = /data/mysql

datadir = /data/mysql/data

port = 3306

server_id = 10

socket = /data/mysql/mysql.sock

character-set-server = utf8

max_connections = 200

default-storage-engine = innodb

log-bin=mysql-bin

為mysql新增開機啟動

> cp /data/mysql/support-files/mysql.server /etc/init.d/mysqld

> chmod 755 /etc/init.d/mysqld

> chkconfig --add mysqld

啟動mysql服務

> service mysqld start

為mysql新增環境變數

> echo "export path=/data/mysql/bin/:$path" >> /etc/profile

> source /etc/profile

通過上面儲存過的密碼登陸mysql來修改root密碼

> mysql -uroot -p

> set password=password('123456');

> alter user 'root'@'localhost' password expire never;

> flush privileges;

Centos7使用編譯原始碼方式安裝mysql

注 本文參考 最美的痕跡博文 首先,把工具包安裝上 yum y install gcc libxml2 dev curl screen libpng12 dev autoconf libpcre3 dev make bzip2 libevent dev patch libjpeg62 dev lib...

centos7下使用docker安裝mysql

若要pull latest mysql version.use docker pull mysql.its ok.在repository屬性下映象名可能為docker.io mysql.為了方便使用mysql直接查詢,可以使用docker tag命令,為docker.io mysql 新增新的映象標...

CentOS7下原始碼編譯安裝MySQL5 6 4

cd usr local src mysql5.6.4 mkdir usr local mysql yum install make cmake gcc gcc c bison bison devel ncurses ncurses devel autoconf automake yum insta...