Hi 你們好,我是鍾義林,昨兒個安裝mysql,遇到了幾個問題,如今打算把問題的解決方法寫出來,和你們分享一下,此次我就不截圖了,下面你們一塊兒看一下mysql
問題:1、CMake Error: The source directory "/opt/mysql-5.7.3-m13-linux-glibc2.5-x86_64" does not appear to contain CMakeLists.txt. 下面是我從crt裏copy出來的linux
有必要說明一點,我用的系統是centossql
Linux localhost.zidonghua1 2.6.32-358.14.1.el6.x86_64 #1 SMP Tue Jul 16 23:51:20 UTC 2013 x86_64 x86_64 x86_64 GNU/Linuxshell
===============================================================================centos
[root@Evil mysql-5.7.3-m13-linux-glibc2.5-x86_64]# cmake .oracle
CMake Error: The source directory "/opt/mysql-5.7.3-m13-linux-glibc2.5-x86_64" does not appear to contain CMakeLists.txt.app
Specify --help for usage, or press the help button on the CMake GUI.socket
[root@Evil mysql-5.7.3-m13-linux-glibc2.5-x86_64]# pwd網站
/opt/mysql-5.7.3-m13-linux-glibc2.5-x86_64google
在解決這個問題前,請容許我吐槽兒一番,我先是在google搜索和搜狗搜索上找了一下(百度基本不靠譜,通過確實,依然是不靠譜),沒有一個可解決的方法,多是我沒找到,但確實沒有,n多的回答是 你沒有在mysql的安裝目錄裏,pwd指令已經很清楚的說明了我就在mysql的目錄中,可就是不行。後來我在mysql的官方網站上也沒找到解決方法,最終我藉助了「強大」的google翻譯,把官網上的內容一個個的copy進google翻譯裏進行翻譯,最終我解決了這個問題。吐槽到此結束吧。
首先要多說一下,你們通常去mysql的官方網站的時候,都會下載社區版,由於mysql被oracle收購後,除了社區版都須要付費。全部你們都會下載 mysql community server *.*.** 對吧,這裏我就談如何註冊一個帳號了,下載前會在 select platform:這裏選擇要下載的版本。linux - Generic 這個選項全部下載下來的包很大,並且還無法用,這裏說明一下,也行是我不會用,不會裝。
解決方法以下,還在http://dev.mysql.com/downloads/mysql/*.*heml#downloads 這個網頁中(我這這個網頁打不開哦*.*是你要下載的版本號) 在select platform 裏選擇 source code
而後下載 再安裝
總結一下,說那麼多廢話,終歸,最可能你就是所下載的版本可能對,所帶來的錯誤。
在此還強調一下,若是你的版本確認是正確的,可是仍是出現問題,建議-yum卸載
yum remove cmake* 把camke卸載 從官網上下載cmake編譯安裝
#/bin/sh
cd /usr/local/src/
wget http://wwwNaNake.org/files/v2.8/cmake-2.8.12.2.tar.gz
tar zxvf cmake-2.8.12.2.tar.gz
cd cmake-2.8.12.2
./configure
Make
Make install
而後我有遇到另個問題。
make: *** 沒有指明目標而且找不到 makefile。 中止。
我不可能沒有裝make,並且gcc、devel、libs等等我都有裝。這個問題又是怎麼回事呢?
實際上是這樣的 cmake成功了就會生成makefile,使用make的時候系統會在當前目錄找makefile
若是cmake失敗了呢,就不會有,可是你在編譯貌似還不行,不得不說一下個人緣由是由於
- Could NOT find Curses (missing: CURSES_LIBRARY CURSES_INCLUDE_PATH)
CMake Error at cmake/readline.cmake:83 (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:127 (FIND_CURSES)
cmake/readline.cmake:217 (MYSQL_USE_BUNDLED_LIBEDIT)
CMakeLists.txt:354 (MYSQL_CHECK_READLINE)
-- Configuring incomplete, errors occurred!
See also
緣由就是
package name is libncurses5-dev, on Redhat and derivates it is ncurses-devel.
我少了ncurses (你能夠用 yum install ncurses ncurses-devel ncurses-libs 來進行安裝)
我當時有點拙急,我用的額方法是 yum install *ncurses* 其實同樣的,這個不是問題,問題是make 仍是報錯!
解決方法以下
看見 CMakeCache.txt 了嗎? 刪掉它,而後從新使用 cmake 開始編譯mysql
rm -rf CMakeCache.txt
===================================================================================
寫完這篇博文呢,我感受本身有點二,也確實挺二的,能碰到這些問題,不該該爲這些小問題糾結的
好了,就當在吐槽一句吧
下面我把 安裝mysql的方式 給你們copy出來
/cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql/ -DINSTALL_DATADIR=/usr/local/mysql/data/master -DSYSCONFDIR=/usr/local/mysql/etc \
-DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DEXTRA_CHARSETS=all -DWITH_SSL=system -DWITH_EMBEDDED_SERVER=1 \
-DENABLED_LOCAL_INFILE=1 -DWITH_MYISAM_STORAGE_ENGINE=1 -DMYSQL_USER=mysql \
-DMYSQL_UNIX_ADDR=/usr/local/mysql/data/mysql.sock
make && make install
groupadd mysql
shell> useradd -r -g mysql mysql
useradd -g mysql mysql -s /bin/false
chown -R mysql:mysql /usr/local/mysql
mkdir /usr/local/mysql/etc
shell> cd /usr/local/mysql
shell> chown -R mysql .
shell> chgrp -R mysql .
shell> scripts/mysql_install_db --user=mysql
shell> chown -R root .
shell> chown -R mysql data
shell> bin/mysqld_safe --user=mysql &
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql.server
cp support-files/my-default.cnf /usr/local/mysql/etc/my.cnf
cp support-files/mysql.server /etc/init.d/mysqld-sh
vi /usr/local/mysql/etc/my.cnf
bind-address=
socket =
port = 3306
user = mysql
vi /etc/init.d/mysqld-sh
basedir=
datadir
mysqld_pid_file_path=
chmod +x /etc/init.d/mysqld-sh
/usr/local/mysql/scripts/mysql_install_db \
--defaults-extra-file=/usr/local/mysql/etc/my.cnf \
--basedir=/usr/local/mysql \
--datadir=/usr/local/mysql \
--user=mysql
/etc/init.d/mysqld-sh start
/usr/local/mysql/bin/mysqladmin -u root password '你的密碼'
cp /usr/local/mysql/bin/mysql /bin/mysql