Centos 7下編譯安裝Mysql

(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
相關文章
相關標籤/搜索