CentOS6.8安裝編譯mysql5.6

1. 安裝gcc

yum install gcc gcc-c++ ncurses-devel perl  

2. 下載源碼包(一定要是source類型的,要不然從cmake就會出錯)


3. 解壓後進入mysql目錄

4.cmake編譯配置(會出錯誤)

cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DENABLED_LOCAL_INFILE=ON \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_FEDERATED_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \
-DCOMPILATION_COMMENT='JSS for mysqltest' \
-DWITH_READLINE=ON \
-DSYSCONFDIR=/data/mysqldata/3306 \
-DMYSQL_UNIX_ADDR=/data/mysqldata/3306/mysql.sock

5.出錯

-- Could NOT find Curses (missing:  CURSES_LIBRARY CURSES_INCLUDE_PATH) 
CMake Error at cmake/readline.cmake:85 (MESSAGE):
  Curses library not found.  Please install appropriate package,
remove CMakeCache.txt and rerun cmake.On Debian/Ubuntu, package name is libncurses5-dev, on RedHat and derivates it is ncurses-devel.
Call Stack (most recent call first):
  cmake/readline.cmake:128 (FIND_CURSES)
  cmake/readline.cmake:202 (MYSQL_USE_BUNDLED_EDITLINE)
  CMakeLists.txt:421 (MYSQL_CHECK_EDITLINE)

-- Configuring incomplete, errors occurred!
See also "/soft/mysql-5.6.30/CMakeFiles/CMakeOutput.log".
See also "/soft/mysql-5.6.30/CMakeFiles/CMakeError.log".

6.解決錯誤需要安裝缺失包

yum install ncurses-devel

7.重新刪除配置文件:
rm -rf CMakeCache.txt

8. 重新執行第4步

9. make && make install(如果出錯,可能是因爲沒有權限,要分開用sudo執行)

*****************************************

啓動mysql

  1. cp support-files/mysql.server /etc/init.d/mysqld   
  2.   
  3. vim /etc/profile   
  4.   
  5.       PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH  
  6.   
  7.       export PATH  
  8.   
  9. source /etc/profile  
還要對log,pid,data等目錄做chown設置
(上面的配置可以讓mysql通過service mysqld start啓動)

首次登錄,修改root密碼
mysqld --skip-grant-tables,這個命令會出現警告之類的,不用管,在新窗口中登錄mysql
執行命令:update mysql.user set password=PASSWORD('root') where User='root';
刷新執行: mysql> flush privileges;

1. 使用具有所有權限的用戶登錄
2. 創建用戶:mysql> insert into mysql.user(Host,User,Password) values("localhost","demo",password("demo"));
flush privileges;
3. 退出,用demo用戶登錄mysql
4. 成功登錄後退出
5. 爲用戶授權:grant 權限 on 數據庫.* to 用戶名@登錄主機 identified by "密碼";
  (grant all privileges on *.* to demo@localhost identified by 'demo'; )
6. 刷新系統權限表:mysql>flush privileges;

發佈了141 篇原創文章 · 獲贊 12 · 訪問量 27萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章