(1)官網下載地址:https://dev.mysql.com/downloads/mysql/
此處下載的是 mysql-boost-5.7.24.tar.gz
百度雲下載地址:https://pan.baidu.com/s/1wDAJawz2hUEMbzOVte-bdQmysql
提取碼:gfqoc++
(2)安裝依賴包
yum -y install \ ncurses \ ncurses-devel \ bison \ cmake \ make \ gcc-c++
(3)解壓源碼包並配置
cd /usr/local/src
tar -zxf mysql-boost-5.7.24.tar.gz
cd mysql-5.7.24/
cmake \ -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ -DMYSQL_DATADIR=/usr/local/mysql/data \ -DSYSCONFDIR=/usr/local/mysql \ -DWITH_MYISAM_STORAGE_ENGINE=1 \ -DWITH_INNOBASE_STORAGE_ENGINE=1 \ -DWITH_MEMORY_STORAGE_ENGINE=1 \ -DWITH_READLINE=1 \ -DMYSQL_UNIX_ADDR=/usr/local/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 \ -DWITH_BOOST=boost
如下爲上述配置的說明sql
cmake \ -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ 安裝根目錄 -DMYSQL_DATADIR=/data/3306/data \ 數據存儲目錄 -DSYSCONFDIR=/data/3306 \ 配置文件(my.cnf)目錄 (貌似沒用,配置文件依然在/etc/my.cnf) -DWITH_MYISAM_STORAGE_ENGINE=1 \ 編譯myisam存儲引擎,默認的存儲引擎,不加也能夠 -DWITH_INNOBASE_STORAGE_ENGINE=1 \ 支持InnoDB存儲引擎,這個也是默認安裝的 -DWITH_MEMORY_STORAGE_ENGINE=1 \ 支持MEMORY引擎 -DWITH_READLINE=1 \ 使用readline功能 -DMYSQL_UNIX_ADDR=/data/3306/mysql.sock \ sock存放到/data/3306目錄 -DMYSQL_TCP_PORT=3306 \ 數據庫端口 -DENABLED_LOCAL_INFILE=1 \ 能夠使用load data infile命令從本地導入文件 -DWITH_PARTITION_STORAGE_ENGINE=1 \ 安裝數據庫分區 -DEXTRA_CHARSETS=all \ 支持全部字符集 -DDEFAULT_CHARSET=utf8 \ 默認字符集 -DDEFAULT_COLLATION=utf8_general_ci \ 設置默認效驗字符集排序規則,要和DDEFAULT_CHARSET一塊兒用 -DWITH_BOOST=boost 從MySQL 5.7.5開始Boost庫是必需的
(4)編譯及安裝
make && make install
(5)添加用戶和組
groupadd mysql
useradd -g mysql mysql
chown -R mysql:mysql /usr/local/mysql
(6)初始化
cd /usr/local/mysql/bin
./mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data/
注意:初始化完了須要記住root密碼數據庫
出現如下說明初始化成功
2018-11-12T01:25:29.316210Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2018-11-12T01:25:30.314274Z 0 [Warning] InnoDB: New log files created, LSN=45790
2018-11-12T01:25:30.441468Z 0 [Warning] InnoDB: Creating foreign key constraint system tables.
2018-11-12T01:25:30.512508Z 0 [Warning] No existing UUID has been found, so we assume that this is the first time that this server has been started. Generating a new UUID: d7df9433-e619-11e8-804b-00163e0851f0.
2018-11-12T01:25:30.517175Z 0 [Warning] Gtid table is not ready to be used. Table ‘mysql.gtid_executed’ cannot be opened.
2018-11-12T01:25:30.517899Z 1 [Note] A temporary password is generated for root@localhost: _1ahqhzYqtMdvim
(7)寫入環境變量
echo "export PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile
source /etc/profile
(8)修改配置文件
vim /etc/my.cnf
配置以下:socket
[mysqld] basedir = /usr/local/mysql datadir = /usr/local/mysql/data socket = /usr/local/mysql/mysql.sock user = mysql symbolic-links=0 [mysqld_safe] log-error = /usr/local/mysql/log-error/mariadb.log pid-file = /usr/local/mysql/mariadb.pid
(9)建立日誌文件並賦予權限
mkdir -p /usr/local/mysql/log-error/
touch /usr/local/mysql/log-error/mariadb.log
chown -R mysql:mysql /usr/local/mysql/log-error/mariadb.log
(10)啓動Mysql
/usr/local/mysql/support-files/mysql.server start
(11)設置用戶密碼及權限
登陸mysql:ide
mysql -u root -p
修改root用戶密碼:ui
SET PASSWORD = PASSWORD('123456'); ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER; FLUSH PRIVILEGES;
受權全部用戶:this
grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option;
flush privileges;
查詢數據庫的用戶:spa
use mysql;
SELECT DISTINCT CONCAT('User: ''',user,'''@''',host,''';') AS query FROM mysql.user;
quit; #退出mysql命令行
(12)設置爲開機自動啓動Mysql
vim /etc/rc.d/rc.local
添加標準啓動命令:
/usr/local/mysql/support-files/mysql.server start
給/etc/rc.d/rc.local添加可執行權限
chmod +x /etc/rc.d/rc.local