centos下cmake編譯安裝mysql5.7.24


一、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;  刷新權限,如此重新登陸即可正常使用


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM