本文中Linux環境為CentOS 6.4 32位,且安裝選擇的是Basic Server版。
在有些Linux版本中會自帶有MySQL數據庫,所以在安裝之前,需要檢查當前Linux環境中是否已有MySQL數據庫,若有,則先將其卸載。
以下為在CentOS中安裝MySQL的基本步驟:
1)查看當前系統是否自帶MySQL數據庫
[root@MySqlServer ~]# rpm -qa | grep mysql mysql-libs-5.1.66-2.el6_3.i686 [root@MySqlServer ~]#
說明:執行 rpm -qa | grep mysql 命令來查看當然系統是否自帶有MySQL數據庫,若有,則會顯示MySQL軟件名稱。
2)卸載自帶的MySQL數據庫
[root@MySqlServer ~]# rpm -e --nodeps mysql-libs-5.1.66-2.el6_3.i686 [root@MySqlServer ~]#
說明:命令 rpm -e --nodeps [要卸載的軟件名] 用於卸載軟件。
3)上傳MySQL至Linux
該步驟可以使用很多種方式進行文件的上傳。由於此時本人使用的電腦是Mac,因此本文中使用 scp 命令,來進行文件傳輸。(也可以使用FTP工具來進行圖形化界面操作)。
bogon:~ hrvy$ scp ~/Downloads/MySQL/MySQL-5.6.22-1.el6.i686.rpm-bundle.tar root@192.168.170.129:~/ root@192.168.170.129's password: MySQL-5.6.22-1.el6.i686.rpm-bundle.tar 100% 205MB 16.9MB/s 00:12 bogon:~ hrvy$
4)解壓MySQL軟件包
解壓MySQL到/usr/local/下的mysql目錄(mysql目錄需要手動創建)。首先創建/usr/local/mysql/目錄,然后解壓至該目錄內。
[root@MySqlServer ~]# mkdir /usr/local/mysql [root@MySqlServer ~]# tar -xvf MySQL-5.6.22-1.el6.i686.rpm-bundle.tar -C /usr/local/mysql/ MySQL-shared-compat-5.6.22-1.el6.i686.rpm MySQL-server-5.6.22-1.el6.i686.rpm MySQL-client-5.6.22-1.el6.i686.rpm MySQL-devel-5.6.22-1.el6.i686.rpm MySQL-test-5.6.22-1.el6.i686.rpm MySQL-shared-5.6.22-1.el6.i686.rpm MySQL-embedded-5.6.22-1.el6.i686.rpm [root@MySqlServer ~]#
5)安裝MySQL
經過第4步操作后,將當前目錄切換到/usr/local/mysql/,可以看到該目錄中有很多后綴為.rpm的安裝包,而實際只需要安裝server和client即可。
[root@MySqlServer ~]# cd /usr/local/mysql/ [root@MySqlServer mysql]# ls MySQL-client-5.6.22-1.el6.i686.rpm MySQL-shared-5.6.22-1.el6.i686.rpm MySQL-devel-5.6.22-1.el6.i686.rpm MySQL-shared-compat-5.6.22-1.el6.i686.rpm MySQL-embedded-5.6.22-1.el6.i686.rpm MySQL-test-5.6.22-1.el6.i686.rpm MySQL-server-5.6.22-1.el6.i686.rpm [root@MySqlServer mysql]#
安裝MySQL server:
[root@MySqlServer mysql]# rpm -ivh MySQL-server-5.6.22-1.el6.i686.rpm
如提示 error: Failed dependencies: 錯誤,則需要安裝MySQL依賴,執行以下命令即可:
[root@MySqlServer mysql]# yum -y install libaio.so.1 libgcc_s.so.1 libstdc++.so.6 [root@MySqlServer mysql]#
安裝MySQL client:
[root@MySqlServer mysql]# rpm -ivh MySQL-client-5.6.22-1.el6.i686.rpm
至此,MySQL數據庫安裝完成!
6)啟動mysql服務
[root@MySqlServer mysql]# service mysql start
Starting MySQL. [ OK ]
[root@MySqlServer mysql]#
7)連接數據庫
[root@MySqlServer mysql]# mysql -uroot -p
Enter password:
此時,遇到一個問題,安裝好的MySQL數據庫密碼是多少呢?其實,在安裝MySQL server的時候,安裝日志已經說明:生產的隨機密碼保存在/root/.mysql_secret文件中,可以查看一下這個文件:
[root@MySqlServer mysql]# cat /root/.mysql_secret # The random password set for the root user at Fri Jun 21 04:56:26 2019 (local time): 0lv4ltBp_sawlAGA [root@MySqlServer mysql]#
現在,就可以登陸數據庫了!
8)修改密碼
登陸數據庫之后,由於隨機生成的密碼太過難記,可以修改一個簡單的密碼,一邊自己使用。
mysql> set password = password('root'); Query OK, 0 rows affected (0.01 sec)
此處將密碼設置為了root。現在可以退出重新登錄,看看密碼是否修改成功。
9)將mysql服務加入系統服務,並設置為開機啟動
每當Linux系統重啟之后,總要手動啟動mysql服務,故為了方便,將其加入系統服務中,並設為開機自啟。
[root@MySqlServer mysql]# chkconfig --add mysql
[root@MySqlServer mysql]# chkconfig mysql on
10)開啟mysql的遠程登錄
因為MySQL數據庫是安裝在Linux上的,而現實操作往往並不是在該Linux直接使用,正常都是在本機上安裝一款MySQL圖形化管理工具,遠程連接上Linux中的MySQL即可。
而遠程登錄數據庫時,必須登陸的用戶具有遠程登錄的權限,否則是無法登陸成功的。
mysql> grant all privileges on *.* to 'root' @'%' identified by 'root'; Query OK, 0 rows affected (0.01 sec) mysql> flush privileges; Query OK, 0 rows affected (0.01 sec) mysql>
說明:grant ... 語句中,第一個 'root' 是用戶名,第二個 'root' 是遠程登錄密碼,遠程登錄密碼可以設置為其他,其僅作為遠程登錄使用的密碼。flush ... 語句作用:刷新權限,使設置生效。
11)開啟3306端口
默認情況下,Linux的防火牆是開啟的,3306端口也是未對外發放的,所以盡管上面那么多步驟全部正確完成,依舊遠程連接不了數據庫。此時解決方案有二:1)關閉Linux的防火牆;2)開啟3306端口。
本案例使用的是開啟3306端口,而並非直接關閉Linux防火牆。
[root@MySqlServer mysql]# iptables -I INPUT -p tcp --dport 3306 -j ACCEPT
【注意】使用 iptables 命令配置的防火牆規則默認會在系統下一次重啟時失效,如果想讓配置的防火牆策略永久生效,執行下面的保存命令:
[root@MySqlServer mysql]# service iptables save
iptables: Saving firewall rules to /etc/sysconfig/iptables:[ OK ]
------------------------------------------------------
自此,大功告成!!!