一、centos6.5推薦最小安裝。自定義添加如圖兩個包
二、安裝cmake3.0(mysql5.7要求cmake2.9以上。cmake3.1要求gcc g++4.8以上。所以選自3.0)
1、分別執行 ./configure gmake gmake install
三、安裝依賴包
1、yum install ncurses-devel -y
yum install bison-devel -y
四、創建用戶和用戶組
1、groupadd mysql
useradd mysql -s /sbin/nologin -M -g mysql
chown -R mysql:mysql /usr/local/mysql
chown -R mysql:mysql /data/3306
2、創建boost庫
說明:Mysql5.7版本更新后有很多變化,比如json等,連安裝都有變化,他安裝必須要BOOST庫,不過mysql的官網源碼有帶boost庫的源碼和不帶boost庫的源碼兩種,因此 有兩種安裝方式,其實都是一樣的,僅僅是不帶boost庫源碼的需要單獨安裝boost
mkdir -p /usr/local/boost
下載boost_1_59_0。並解壓到該目錄
3、
cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/data/3306/data \
-DMYSQL_UNIX_ADDR=/data/3306/mysql.sock \
-DEXTRA_CHARSETS=all \
-DSYSCONFDIR=/data/3306 \ 配置文件my.cnf路徑
-DENABLED_LOCAL_INFILE=ON \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_FEDERATED_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 \
-DWITHOUT_PARTITION_STORAGE_ENGINE=1 \
-DWITH_FAST_MUTEXES=1 \
-DWITH_ZLIB=bundled \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_READLINE=1 \
-DWITH_EMBEDDED_SERVER=1 \
-DWITH_BOOST=/usr/local/boost \
-DWITH_DEBUG=0
4、make && make install
5、實例初始化
cd /usr/local/mysql
./bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/data/3306/data/
6、添加環境變量
echo "export PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile
source /etc/profile
7、配置數據庫
(1)復制啟動文件
cp support-files/mysql.server /etc/init.d/mysqld
chmod 755 /etc/init.d/mysqld
cp bin/my_print_defaults /usr/bin/
(2)修改啟動腳本 vi /etc/init.d/mysqld
(3)修改mysql的配置文件 vi /etc/my.cnf
[mysqld]
basedir = /usr/local/mysql
datadir = /data/3306/data/
socket = /data/3306/mysql.sock
user = mysql
tmpdir = /data/3306/
symbolic-links=0
[mysqld_safe]
log-error = /data/3306/data/error.log
pid-file = /data/3306/data/mysql.pid
8、啟動數據庫
service mysqld start(密碼是數據庫初始化的時候隨機生成的)
9、安裝后的配置
登陸客戶端執行命令總報錯 ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
(1) SET PASSWORD = PASSWORD("new password");
(2)ALTER USER ‘root’@‘localhost’ PASSWORD EXPIRE NEVER;
(3)flush privileges; 刷新權限,如此重新登陸即可正常使用