安裝前準備:查看mysql是否已經安裝
1:查詢軟件包是否安裝 rpm -qa msyql 若是安裝就刪除掉
2:若是已經make過 須要 make clean 而且刪除CMakeCache.txt文件
3:msyql版本:mysql-5.5.22
----------------------------------------------------------
1:安裝依賴包
yum -y install gcc gcc-c++ gcc-g77 autoconf bison automake \
zlib* fiex** libxml* ncurses-devel libmcrypt* libtool-ltdl-devel* \
ncurses ncurses-*mysql
2:安裝cmake編譯軟件
yum install -y cmakelinux
3:建立用戶和組
groupadd mysql
useradd -g mysql mysql
4:建立數據安裝目錄
mkdir -p /usr/local/mysql
mkdir -p /usr/local/mysql/data
5:修改目錄權限和文件屬主
chown -R mysql:mysql /usr/local/mysql
6:tar zxvf /usr/local/src/mysql
6:cmake編譯
cmake . \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DEXTRA_CHARSETS=all \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \
-Wno-dev
7:make && make install
8:複製配置文件(mysql本身的安裝目錄下)
cp ./support-files/my-medium.cnf /etc/my.cnf
9:複製mysql-server文件到/etc/init.d開機自動啓動服務
cp ./support-files/mysql-server /etc/init.d/mysqld
chmod 755 /etc/init.d/mysqld
10:初始化數據庫
scripts/mysql_install_db --user=mysql \
--basedir=/usr/local/mysql \
--datadir=/usr/local/mysql/data
11:啓動msyql服務(經過安裝目錄下面的bin目錄下的)
./bin/mysqld_safe --user=mysql &
12:修改root密碼
./bin/mysqladmin
c++
13:設置啓動項sql
chkconfig --add mysqld;數據庫
chkconifg --level 235 mysqld on
centos
14:錯誤提示解決辦法
CMake Warning (dev) in sql/CMakeLists.txt:
Policy CMP0022 is not set: INTERFACE_LINK_LIBRARIES defines the link
interface. Run "cmake --help-policy CMP0022" for policy details. Use the
cmake_policy command to set the policy and suppress this warning.
Target "mysqld" has an INTERFACE_LINK_LIBRARIES property which differs from
its LINK_INTERFACE_LIBRARIES properties.
解決辦法:在cmake尾部添加-Wno-dev參數
15:./bin/mysqld_safe --user=mysql &啓動錯誤
1)多是/usr/local/mysql/data/mysql.pid文件沒有寫的權限
解決方法 :給予權限,執行 「chown -R mysql:mysql /var/data」 「chmod -R 755 /usr/local/mysql/data」 而後從新啓動mysqld!
2)可能進程裏已經存在mysql進程
解決方法:用命令「ps -ef|grep mysqld」查看是否有mysqld進程,若是有使用「kill -9 進程號」殺死,而後從新啓動mysqld!
3)多是第二次在機器上安裝mysql,有殘餘數據影響了服務的啓動。
解決方法:去mysql的數據目錄/data看看,若是存在mysql-bin.index,就趕快把它刪除掉吧,它就是罪魁禍首了。本人就是使用第三條方法解決的 !
4)mysql在啓動時沒有指定配置文件時會使用/etc/my.cnf配置文件,請打開這個文件查看在[mysqld]節下有沒有指定數據目錄(datadir)。
解決方法:請在[mysqld]下設置這一行:datadir = /usr/local/mysql/data
5)skip-federated字段問題
解決方法:檢查一下/etc/my.cnf文件中有沒有沒被註釋掉的skip-federated字段,若是有就當即註釋掉吧。
6)錯誤日誌目錄不存在
解決方法:使用「chown」 「chmod」命令賦予mysql全部者及權限
7)selinux惹的禍,若是是centos系統,默認會開啓selinux
解決方法:關閉它,打開/etc/selinux/config,把SELINUX=enforcing改成SELINUX=disabled後存盤退出重啓機器試試。
this