Debain下編譯安裝mysql 1. 做好前提准備 安裝 需要使用的 ... #二進制文件( 如果你自己提供的文件,一定要注意不要版本錯了) wget http://dev.mysql.com/get/Downloads/MySQL-5.5/mysql-5.5.12.tar.gz/from/http://mysql.he.net/ #cmake 編譯 wget http://www.cmake.org/files/v2.8/cmake-2.8.4.tar.gz wget http://ftp.gnu.org/gnu/bison/bison-2.4.3.tar.gz apt-get install make // 網絡資源地址沒找 有的留個 2. 安裝cmake cd /usr/local/ tar zxvf cmake-2.8.4.tar.gz //下載的cmake文件路徑 cd cmake-2.8.4 ./bootstrap make make install 3. 安裝 bison tar zxvf bison-2.4.3.tar.gz cd bison-2.4.3 ./configure make make install 1.configure: error: no acceptable C compiler found in $PATH 原因: 沒有安裝 GCC 編譯器 解決: apt-get install gcc 4 編譯安裝 mysql # 創建用戶 groupadd mysql useradd -g mysql mysql cd /usr/local tar zxvf ../mysql-5.5.12.tar.gz // 我把二進制文件放在 /usr下面 cd mysql-5.5.12 ## 編譯二進制文件 cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ -DMYSQL_UNIX_ADDR=/tmp/mysql.sock \ -DDEFAULT_CHARSET=utf8 \ -DDEFAULT_COLLATION=utf8_general_ci \ -DWITH_EXTRA_CHARSETS:STRING=utf8,gbk \ -DWITH_MYISAM_STORAGE_ENGINE=1 \ -DWITH_INNOBASE_STORAGE_ENGINE=1 \ -DWITH_MEMORY_STORAGE_ENGINE=1 \ -DWITH_READLINE=1 \ -DENABLED_LOCAL_INFILE=1 \ -DMYSQL_DATADIR=/var/mysql/data \ -DMYSQL_USER=mysql make // 這一步時間有點長 (這個文件夾的包含CMakeLists.txt) make install # 修改用戶和權限 /usr/sbin/groupadd mysql /usr/sbin/useradd -g mysql mysql chmod +w /usr/local/mysql chown -R mysql:mysql /usr/local/mysql mkdir -p /var/mysql/ mkdir -p /var/mysql/data/ mkdir -p /var/mysql/log/ chown -R mysql:mysql /var/mysql/ cd support-files/ cp my-large.cnf /var/mysql/my.cnf(如果是debian,my.conf需要放在/etc/mysql/下面) cp mysql.server /etc/init.d/mysqld 2.FATAL ERROR: Could not find mysqld (命令提示記得不是太清楚了,意思就是 mysqld命令找不到) 解決方法 ln -sf /usr/local/mysql/bin/* /usr/bin 3 FATAL ERROR: Could not find errmsg.sys 原因:在特定的路徑下面訪問不到這個文件, 如果你只是把這一個文件拷貝過去的話 下面還會出現 同樣的問題,因為他依賴於 /usr/local/mysql/share 文件夾 我直接拷貝過去, 或者創建軟連接 解決方法 cd /usr/share/ mkdir mysql cd mysql cp -a /usr/local/mysql/share/* . 4 /usr/bin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory 安裝 libaio-dev tips 在網上查找原因的時候 說是沒有apt-get update , 於是我無知的 apt-get update FUCK 無效,寫文章 詳細點 我這個linux 學徒 表示壓力很大 進入下列網址 按照提示 修改 /etc/apt/sources.list http://packages.debian.org/zh-cn/lenny/i386/libaio-dev/download 寫好之後 在 apt-get update #安裝 apt-get install libaio-dev 5. 110518 15:09:27 [ERROR] /usr/local/mysql/bin/mysqld: unknown option '--skip-bdb' 解決方法 vim /etc/mysql/my.cnf 將 skip-bdb 那行 注釋掉 cary:/usr/local/mysql# scripts/mysql_install_db --datadir=/var/mysql/data/ --basedir=/usr/local/mysql --user=mysql 啟動數據庫 /etc/init.d/mysqld start 這是我模擬的異常信息 /etc/init.d/mysqld: line 276: cd: /usr/local/mysq1l: No such file or directory 解決方法 vim /etc/mysql/my.cnf 下mysqld 的配置參數 要和上面你安裝的 配置參數一致 如 my.cnf 中 [mysqld] .... basedir = /usr/local/mysq1l 參數改為 你上面配置的 /usr/local/mysql 修改管理員密碼 mysqladmin -uroot password '123456' Starting MySQL....The server quit without updating PID file (/var/run/mysqld/mysqld.pid). failed! 解決方法 pkill -f mysql rm /var/run/mysql/* 重新啟動 mysql 如果你下載好的是編譯好的文件 那麼你就不需要Cmake 編譯 可以跳過那一步 創建遠程用戶登錄不了?? vim /etc/mysql/my.cnf 將 bind-address 127.0.0.1 注釋掉