1.在安裝mysql數據庫服務器前,確保你的linux系統是可以連接網絡的,下面我們將通過源碼方式來安裝mysql,首先確保系統中已經安裝的gcc c++ 等編譯環境,因為mysql從5.5版本開始是使用cmake編譯的,如果三個環境都沒安裝,可以使用下面的命令進行安裝:
yum -y install make gcc-c++ cmake bison-devel ncurses-devel
2.查找系統里是否已經安裝了mysql數據庫的相關組件,使用命令:rpm -qa | grep mysql
如果查找到,可以使用下面命令進行強制卸載:rpm -e --nodeps 包名
3.請在當前登錄用戶的用戶目錄下(cd 回車)下載mysql的源碼安裝包
命令:wget --no-check-certificate https://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.24.tar.gz (沒有--no-check-certificate命令會報錯)

4.下載完成后,使用命令: ls 可以查看當前目前下存在 mysql-5.6.24.tar.gz

5.解壓,命令:tar -zxvf mysql-5.6.24.tar.gz 或者 tar -zxf mysql-5.6.24.tar.gz (-zxvf可以看到解壓過程,-zxf省略了解壓過程)
6.跳轉到解壓好的mysql目錄里,命令:cd mysql-5.6.24
7.開始編譯mysql文件,首先配置編譯的相關參數
命令:cmake \-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \-DMYSQL_DATADIR=/usr/local/mysql/data \-DSYSCONFDIR=/etc \-DWITH_MYISAM_STORAGE_ENGINE=1 \-DWITH_INNOBASE_STORAGE_ENGINE=1 \-DWITH_MEMORY_STORAGE_ENGINE=1 \-DWITH_READLINE=1 \-DMYSQL_UNIX_ADDR=/var/lib/mysql/mysql.sock \-DMYSQL_TCP_PORT=3306 \-DENABLED_LOCAL_INFILE=1 \-DWITH_PARTITION_STORAGE_ENGINE=1 \-DEXTRA_CHARSETS=all \-DDEFAULT_CHARSET=utf8 \-DDEFAULT_COLLATION=utf8_general_ci

8.接着使用 make && make install 來編譯並安裝mysql

9.安裝完成后,我們還要建立mysql的配置,首先設置mysql的訪問權限,使用命令查看是否已經存在mysql用戶及用戶組
跳轉到用戶目錄:cd ~
查看用戶列表命令:cat /etc/passwd

查看用戶組列表命令:cat /etc/group

10.如果不存在,我們就要創建:
添加用戶組命令:groupadd mysql
添加用戶:useradd -g mysql mysql
然后來修改之前安裝的mysql所在目錄的訪問的用戶及用戶組輸入命令:chown -R mysql:mysql /usr/local/mysql

11.然后是初始化mysql配置
切換到mysql安裝目錄:cd /usr/local/mysql
執行初始化配置腳本,創建mysql自帶的系統數據庫:./scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql

注意:這個地方可能會出錯
當輸入./scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql這個命令后

會出現上面的錯誤,原因:不能解析本機主機名!注意紅框里的內容,應該是你創建linux時修改的主機名,默認的好像是localhost.localdomain,當然,你搭建linux時沒有改動默認主機名,是不會出現這個錯誤的。
解決方法:vim /etc/hosts 然后將紅框里你自己起的主機名添加到每行的最后,如下圖

補充完,重新執行一次./scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql
12.修改mysql配置文件
輸入命令:vi my.cnf
在文件中添加如下內容:basedir = /usr/local/mysql
datadir = /usr/local/mysql/data
port = 3306
server_id = 1
socket = /var/lib/mysql/mysql.sock

這一步很重要,需要更改該配置文件的所有者:chown -R mysql:mysql /usr/local/mysql/my.cnf 否則下面啟動mysql服務會報錯;
注意:注:在啟動MySQL服務時,會按照一定次序搜索my.cnf,先在/etc目錄下找,找不到則會到你安裝的mysql目錄找,在本例中就是 /usr/local/mysql/my.cnf。注意:在CentOS 6.4版操作系統的最小安裝完成后,在/etc目錄下會可能會存在一個my.cnf,需要將此文件更名為其他的名字,如:/etc/my.cnf.bak,否則,該文件會干擾源碼安裝的MySQL的正確配置,造成無法啟動。 重命名的命令是:mv my.cnf my.cnf.bak
13.添加mysql到開機啟動項,並啟動mysql服務
cp support-files/mysql.server /etc/init.d/mysqld #復制腳本
chmod +x /etc/init.d/mysqld #增加可執行權限
chkconfig --add mysqld #增加至sysV服務
chkconfig mysqld on #開機自啟動
service mysqld start #啟動mysql服務
netstat -aux|grep mysq #查看啟動的mysql進程

注意:
service mysqld start #啟動mysql服務 如果報如下錯:
Starting MySQL...The server quit without updating PID file [失敗]local/mysql/data/localhost.learn.pid).
解決方法之一:
此時:ps -ef | grep mysql 看是否進程里已經存在mysql進程
如果有進程,用kill -9 進程號(第二個位置上的數字)
然后再service mysqld start 啟動mysql
其他方法(沒試過):
1.可能是/usr/local/mysql/data/guoqing.pid文件沒有寫的權限
解決方法 :給予權限,執行 “chown -R mysql:mysql /usr/local/mysql/data” “chmod -R 755 /usr/local/mysql/data” 然后重新啟動mysqld!
2.可能是第二次在機器上安裝mysql,有殘余數據影響了服務的啟動。
解決方法:去mysql的數據目錄data看看,如果存在mysql-bin.index,就趕快把它刪除掉吧,它就是罪魁禍首了。
3.mysql在啟動時沒有指定配置文件時會使用/etc/my.cnf配置文件,請打開這個文件查看在[mysqld]節下有沒有指定數據目錄(datadir)。
解決方法:請在[mysqld]下設置這一行:datadir = /usr/local/mysql/data
4.skip-federated字段問題
解決方法:檢查一下/etc/my.cnf文件中有沒有沒被注釋掉的skip-federated字段,如果有就立即注釋掉吧。
5.錯誤日志目錄不存在
解決方法:使用“chown” “chmod”命令賦予mysql所有者及權限
6.selinux惹的禍,如果是centos系統,默認會開啟selinux
解決方法:關閉它,打開/etc/selinux/config,把SELINUX=enforcing改為SELINUX=disabled后存盤退出重啟機器試試。
14.添加mysql的環境變量,以方便以后的操作輸入密碼
命令:vi /etc/profile
在文件的底部添加如下內容:PATH=/usr/local/mysql/bin:$PATH
export PATH
保存退出
輸入命令,使配置立即生效:source /etc/profile

15.安裝好的mysql,默認root帳戶帳戶為空,下面我們來修改密碼輸入命令:mysql -uroot 回車后,然后輸入命令:SET PASSWORD = PASSWORD('123456');設置完成后,輸入命令:quit; 退出mysql環境;

16.設置好 mysql密碼,需要輸入如下命令才能夠正確登錄進mysql:輸入命令:mysql -uroot -p 回車后,會提示你輸入密碼,輸入正確並執行后,會看到以mysql>開始的提示行,在這里你可以輸入任何有效的sql查詢語句:比如輸入:show databases; 來顯示所有的數據庫,注意后面的分號不能丟失,它標識一行命令的結束。至此,恭喜你,mysql安裝成功了。

