二、安裝約定:
使用者名稱: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...