一、源碼安裝mysql
- 在mysql官網下載下傳mysql5.7.x的源碼包 網址: https://dev.mysql.com/downloads/mysql
-
解壓下載下傳的mysql源碼包,安裝所需程式
如果cmake時出現問題,檢查系統是否安裝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後 使用make對源碼進行編譯
在這為止mysql已完成安裝,初始化mysql在說完二進制安裝mysql後講解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
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的執行個體就初始化完成了