.到MySQL官網下載mysql編譯好的二進制安裝包,在下載頁面Select Platform:選項選擇linux-generic,然后把頁面拉到底部,64位系統下載Linux - Generic (glibc 2.5) (x86, 64-bit),下載后文件名:mysql-5.6.33-linux-glibc2.5-x86_64.tar.gz
2.解壓64位安裝包:
進入安裝包所在目錄,執行命令:tar xzvfmysql-5.6.33-linux-glibc2.5-x86_64.tar.gz
3.復制解壓后的mysql目錄到系統的本地軟件目錄:
執行命令:cp mysql-5.6.33-linux-glibc2.5-x86_64/usr/local/mysql -r
注意:目錄結尾不要加/
4.添加系統mysql組和mysql用戶:
執行命令:groupadd mysql和useradd -r -g mysql mysql
5.安裝數據庫:
進入安裝mysql軟件目錄:執行命令?cd/usr/local/mysql
修改當前目錄擁有者為mysql用戶:執行命令chown-R mysql:mysql ./
安裝數據庫:執行命令./scripts/mysql_install_db--user=mysql
修改當前目錄擁有者為root用戶:執行命令chown-R root:root ./
修改當前data目錄擁有者為mysql用戶:執行命令chown -R mysql:mysql data
到此數據庫安裝完畢
6.啟動mysql服務和添加開機啟動mysql服務:
添加開機啟動:執行命令cp support-files/mysql.server /etc/init.d/mysql,把啟動腳本放到開機初始化目錄
chmod +x /etc/init.d/mysql??? 賦予可執行權限
chkconfig --add mysql??????? 添加服務
chkconfig --list? ? ? ? ? ? 顯示服務列表
如果看到mysql的服務,并且3,4,5都是on的話則成功,如果是off,則鍵入
chkconfig --level 345 mysql on
啟動mysql服務:執行命令service mysql start
執行命令:ps -ef|grep mysql 看到mysql服務說明啟動成功。
7.修改mysql的root用戶密碼,root初始密碼為空的:
執行命令:./bin/mysqladmin -u rootpassword '密碼'
如果報錯:
/usr/bin/mysqladmin: connect toserver at 'localhost' failed
error: 'Can't connect to local MySQL server through socket'/var/lib/mysql/mysql.sock' (2)'
Check that mysqld is running and that the socket: '/var/lib/mysql/mysql.sock'exists!
(1)先停止服務:service mysql stop
(2)修改/etc/my.conf:
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
If there is not currently asection called [client], add one at the bottom of the file and copy the socket=line under the [mysqld] section such as:
[client]
socket=/var/lib/mysql/mysql.sock
(3)執行/usr/local/mysql/bin/mysqld_safe& service mysql start
(4)無密碼root帳號登陸
/usr/bin/mysql -uroot -p?【注釋,在下面的要求你輸入密碼的時候,你不用管,直接回車鍵一敲就過去了】
Enter password:
Welcome to the MySQL monitor. Commandsend with ; or \g.
…………
Type 'help;' or '\h' for help.Type '\c' to clear the current input statement.
mysql>?use mysql;
Database changed
(5) 手動update修改密碼
mysql>?update user setpassword=password("新密碼") where user='root' andhost='localhost';
Query OK, 1 row affected (0.00sec)
Rows matched: 1 Changed: 1 Warnings:0
mysql>?flush privileges;
Query OK, 0 rows affected (0.00sec)
mysql>?quit
Bye
8.正常重新啟動mysql服務登錄?mysql -uroot -p
9.把mysql客戶端放到默認路徑:
ln -s/usr/local/mysql/bin/mysql /usr/local/bin/mysql
注意:建議使用軟鏈過去,不要直接包文件復制,便于系統安裝多個版本的mysql
服務器癥狀:
今天網站web頁面提交內容到數據庫,發現出錯了,一直提交不了,數找了下原因,發現數據寫不進去!第一反應,重啟mysql數據庫,一直執行中,停止不了也啟動不了,直覺告訴我磁盤滿了 !用df命令查了下,果然磁盤滿了,因為當時分區采用系統默認,不知道為什么不能自動擴容!以后在處理這個問題!如圖所示:
[root@rekfan ~]# df 文件系統???????????????? 1K-塊????? 已用????? 可用 已用% 掛載點 /dev/mapper/vg_rekfan-lv_root 51606140? 47734848?? 1249852? 100%???? ?/ tmpfs????????????????? 1953396??????? 88?? 1953308?? 1%???????? ??/dev/shm /dev/sda1?????????????? 495844???? 37062??? 433182?? 8%????? ? /boot /dev/mapper/vg_rekfan-lv_home 229694676??? 191796 217835016?? 1%???? ? /home [root@rekfan ~]# |
刪除了些沒用的日志后,重新啟動數據庫還是出錯。http://blog.rekfan.com/?p=186
[root@rekfan mysql]# service mysql restart MySQL server PID file could not be found![失敗] Starting MySQL...The server quit without updating PID file (/usr/local/mysql/data/rekfan.pid).[失敗] |
google了下 ,問題可能的原因有多種,具體什么原因最好的辦法是先查看下錯誤日志:
1.可能是/usr/local/mysql/data/rekfan.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,就趕快把它刪除掉吧,它就是罪魁禍首了。本人就是使用第三條方法解決的 !http://blog.rekfan.com/?p=186
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后存盤退出重啟機器試試。