溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

centos7環(huán)境下源碼怎么安裝mysql5.7.16

發(fā)布時間:2021-05-31 10:59:23 來源:億速云 閱讀:154 作者:小新 欄目:MySQL數(shù)據(jù)庫

這篇文章主要介紹centos7環(huán)境下源碼怎么安裝mysql5.7.16,文中介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們一定要看完!

本文實(shí)例講述了centos7環(huán)境下源碼安裝mysql5.7.16的方法。分享給大家供大家參考,具體如下:

一、下載源碼包

下載mysql源碼包

http://mirrors.sohu.com/mysql/MySQL-5.7/mysql-5.7.16.tar.gz

二、安裝約定:

用戶名:mysql
安裝目錄:/data/mysql
數(shù)據(jù)庫目錄:/data/mysql/data

三、安裝準(zhǔn)備

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,重新運(yùn)行配置)

關(guān)于上面參數(shù)的解釋如下:

#mysql用戶名
-DMYSQL_USER=mysql
#安裝路徑
-DCMAKE_INSTALL_PREFIX=/data/mysql
#數(shù)據(jù)文件存放位置
-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
#連接數(shù)據(jù)庫socket路徑
-DMYSQL_UNIX_ADDR=/data/mysql/mysql.sock
#端口
-DMYSQL_TCP_PORT=3306
#允許從本地導(dǎo)入數(shù)據(jù)
-DENABLED_LOCAL_INFILE=1
#安裝支持?jǐn)?shù)據(jù)庫分區(qū)
-DWITH_PARTITION_STORAGE_ENGINE=1
#安裝所有的字符集
-DEXTRA_CHARSETS=all
#默認(rèn)字符
-DDEFAULT_CHARSET=utf8
#校驗(yàn)字符
-DDEFAULT_COLLATION=utf8_general_ci
#會自動下載boost
-DDOWNLOAD_BOOST=1
#指定boost目錄
-DWITH_BOOST=/usr/local/boost

編譯安裝

> make && make install

復(fù)制配置文件

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

初始化數(shù)據(jù)庫

> /data/mysql/bin/mysqld \
--defaults-file=/data/mysql/my.cnf \
--initialize \
--user=mysql \
--basedir=/data/mysql \
--datadir=/data/mysql/data \

如果出現(xiàn)如下信息:

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

請保證--defaults-file配置選項(xiàng)在最前面。

如果出現(xiàn)如下信息:

[ERROR] --initialize specified but the data directory has files in it. Aborting.

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

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

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

修改mysql目錄擁有者

> chown -R mysql:mysql /data/mysql

五、配置mysql配置文件my.cnf

由于我們在編譯安裝mysql的時候設(shè)置了它的配置文件目錄為/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添加開機(jī)啟動

> cp /data/mysql/support-files/mysql.server /etc/init.d/mysqld
> chmod 755 /etc/init.d/mysqld
> chkconfig --add mysqld

啟動mysql服務(wù)

> service mysqld start

為mysql添加環(huán)境變量

> 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環(huán)境下源碼怎么安裝mysql5.7.16”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關(guān)知識,歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI