天天看點

Mysql 源碼安裝與二進制安裝

一、源碼安裝mysql

  • 在mysql官網下載下傳mysql5.7.x的源碼包 網址: https://dev.mysql.com/downloads/mysql
    Mysql 源碼安裝與二進制安裝
  • 解壓下載下傳的mysql源碼包,安裝所需程式

    如果cmake時出現問題,檢查系統是否安裝cmake,如有未安裝,安裝此程式:

    centos: yum -y install cmake gcc-c++ cmake bison-devel ncurses-devel
    Ubuntu:apt-get intstall cmake gcc-c++ cmake bison-devel ncurses-devel           
    安裝完成後,重新執行cmake即可
  • 源碼編譯

    在執行cmake後 使用make對源碼進行編譯

    cd mysql-5.7.25/
    cmake . -DCMAKE_INSTALL_PREFIX=/home/mysql/mysql_client/mysql-5.7-25 \
    -DMYSQL_DATADIR=/home/mysql/mysql-5.7-25 \
    -DWITH_BOOST=/home/mysql/mysql-5.7.25/boost \  #指定boost的位置
    -DSYSCONFDIR=/etc/mysql \
    -DWITH_INNOBASE_STORAGE_ENGINE=1 \
    -DWITH_PARTITION_STORAGE_ENGINE=1 \
    -DWITH_FEDERATED_STORAGE_ENGINE=1 \
    -DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
    -DWITH_MYISAM_STORAGE_ENGINE=1 \
    -DENABLED_LOCAL_INFILE=1 \
    -DENABLE_DTRACE=0 \
    -DDEFAULT_CHARSET=utf8 \
    -DDEFAULT_COLLATION=utf8_general_ci \
    -DEXTRA_CHARSETS=all \
    -DWITH_EMBEDDED_SERVER=1 \
    -DMYSQL_TCP_PORT=3306;
    =>完成之後進行 make install           
    在這為止mysql已完成安裝,初始化mysql在說完二進制安裝mysql後講解

二、二進制安裝mysql

  • 和第一塊一樣需要在mysql官網下載下傳所需要的二進制安裝包 網址:
    Mysql 源碼安裝與二進制安裝
  • 下載下傳完成後将其解壓
tar -xvf mysql mysql-5.7.25-el7-x86_64.tar
 mv mysql-5.7.25-el7-x86_64  /usr/local/mysql           

即可使用,二進制安裝是比較簡單的,不像源碼安裝,可以根據自己的需要定制自己所需的存儲引擎等,是以在生成使用過程中根據自己需要選擇适合的安裝方式

三、初始化mysql執行個體

在安裝完mysql後我們需要對mysql進行執行個體的初始化工作

  • 建立mysql使用者
groupadd mysql
useradd -r -g mysql -s /sbin/nologin mysql
賦予mysql權限
chown -R mysql.mysql /usr/local/mysql           
  • 建立mysql的資料目錄、日志目錄、程序目錄、臨時目錄
mkdir -p /mysql/3306/{data,log,run,tmp}
chown -R mysql.mysql /mysql           
  • 編寫mysql的配置檔案
linux 預設的mysql配置檔案在/etc/my.cnf,我們也可以自己建立新的mysql的配置檔案
[mysqld_safe]
pid-file=/mysql/3306/run/mysql_3306.pid

[client]
socket=/mysql/3306/run/mysql.sock

[mysqld]
basedir=/usr/local/mysql
datadir=/mysql/3306/data
socket=/mysql/3306/run/mysql.sock
symbolic-links=0
log-error=/mysql/3306/log/mysql_3306.log
pid-file=/mysql/3306/run/mysql_3306.pid

character_set_server=utf8mb4
collation_server=utf8mb4_bin
innodb_log_files_in_group=4
innodb_log_file_size=100M

server-id=10
port=3306
log-bin=/mysql/3306/log/mysql-3306-binlog
max_binlog_size=500M
default-storage-engine=innodb
binlog_format=ROW
sync_binlog=1
log_timestamps=system
transaction_isolation=REPEATABLE-READ
secure_file_priv=''           

此配置檔案較為簡單,所需的具體參數可參考mysql官方文檔進行配置

  • 初始化mysql執行個體
/usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/mysql/3306/data
--initialize 會産生一個臨時的mysql密碼 在mysql的錯誤日志中 mysqld.log檔案中
cat /mysql/3306/log/mysql_3306.log | grep "temporary "           
  • 啟動mysql執行個體,并修改密碼
/usr/local/mysql/bin/mysqld_safe --defaults-file=/etc/my.cnf &
将mysql以背景運作的形式啟動
/usr/local/mysql/bin/mysql -uroot -p臨時密碼
進入後修改密碼
set password=password("123456");           

這樣一個mysql的執行個體就初始化完成了

繼續閱讀