centos如何安裝mysql?
CentOS中安裝MySQL步驟詳解
本文中Linux環(huán)境為CentOS 6.4 32位,且安裝選擇的是Basic Server版。
在有些Linux版本中會自帶有MySQL數(shù)據(jù)庫,所以在安裝之前,需要檢查當(dāng)前Linux環(huán)境中是否已有MySQL數(shù)據(jù)庫,若有,則先將其卸載。
以下為在CentOS中安裝MySQL的基本步驟:
1)查看當(dāng)前系統(tǒng)是否自帶MySQL數(shù)據(jù)庫
[root@MySqlServer ~]# rpm -qa | grep mysql mysql-libs-5.1.66-2.el6_3.i686 [root@MySqlServer ~]#
說明:執(zhí)行 rpm -qa | grep mysql 命令來查看當(dāng)然系統(tǒng)是否自帶有MySQL數(shù)據(jù)庫,若有,則會顯示MySQL軟件名稱。
2)卸載自帶的MySQL數(shù)據(jù)庫
[root@MySqlServer ~]# rpm -e --nodeps mysql-libs-5.1.66-2.el6_3.i686 [root@MySqlServer ~]#
說明:命令 rpm -e –nodeps [要卸載的軟件名] 用于卸載軟件。
3)上傳MySQL至Linux
該步驟可以使用很多種方式進(jìn)行文件的上傳。由于此時本人使用的電腦是Mac,因此本文中使用 scp 命令,來進(jìn)行文件傳輸。(也可以使用FTP工具來進(jìn)行圖形化界面操作)。
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目錄需要手動創(chuàng)建)。首先創(chuàng)建/usr/local/mysql/目錄,然后解壓至該目錄內(nèi)。
[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
經(jīng)過第4步操作后,將當(dāng)前目錄切換到/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依賴,執(zhí)行以下命令即可:
[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數(shù)據(jù)庫安裝完成!
6)啟動mysql服務(wù)
[root@MySqlServer mysql]# service mysql start Starting MySQL. [ OK ] [root@MySqlServer mysql]#
7)連接數(shù)據(jù)庫
[root@MySqlServer mysql]# mysql -uroot -p Enter password:
此時,遇到一個問題,安裝好的MySQL數(shù)據(jù)庫密碼是多少呢?其實,在安裝MySQL server的時候,安裝日志已經(jīng)說明:生產(chǎn)的隨機(jī)密碼保存在/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]#
現(xiàn)在,就可以登陸數(shù)據(jù)庫了!
8)修改密碼
登陸數(shù)據(jù)庫之后,由于隨機(jī)生成的密碼太過難記,可以修改一個簡單的密碼,一邊自己使用。
mysql> set password = password('root'); Query OK, 0 rows affected (0.01 sec)
此處將密碼設(shè)置為了root。現(xiàn)在可以退出重新登錄,看看密碼是否修改成功。
9)將mysql服務(wù)加入系統(tǒng)服務(wù),并設(shè)置為開機(jī)啟動
每當(dāng)Linux系統(tǒng)重啟之后,總要手動啟動mysql服務(wù),故為了方便,將其加入系統(tǒng)服務(wù)中,并設(shè)為開機(jī)自啟。
[root@MySqlServer mysql]# chkconfig --add mysql [root@MySqlServer mysql]# chkconfig mysql on
10)開啟mysql的遠(yuǎn)程登錄
因為MySQL數(shù)據(jù)庫是安裝在Linux上的,而現(xiàn)實操作往往并不是在該Linux直接使用,正常都是在本機(jī)上安裝一款MySQL圖形化管理工具,遠(yuǎn)程連接上Linux中的MySQL即可。
而遠(yuǎn)程登錄數(shù)據(jù)庫時,必須登陸的用戶具有遠(yuǎn)程登錄的權(quán)限,否則是無法登陸成功的。
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' 是遠(yuǎn)程登錄密碼,遠(yuǎn)程登錄密碼可以設(shè)置為其他,其僅作為遠(yuǎn)程登錄使用的密碼。flush … 語句作用:刷新權(quán)限,使設(shè)置生效。
11)開啟3306端口
默認(rèn)情況下,Linux的防火墻是開啟的,3306端口也是未對外發(fā)放的,所以盡管上面那么多步驟全部正確完成,依舊遠(yuǎn)程連接不了數(shù)據(jù)庫。此時解決方案有二:1)關(guān)閉Linux的防火墻;2)開啟3306端口。
本案例使用的是開啟3306端口,而并非直接關(guān)閉Linux防火墻。
[root@MySqlServer mysql]# iptables -I INPUT -p tcp --dport 3306 -j ACCEPT
【注意】使用 iptables 命令配置的防火墻規(guī)則默認(rèn)會在系統(tǒng)下一次重啟時失效,如果想讓配置的防火墻策略永久生效,執(zhí)行下面的保存命令:
[root@MySqlServer mysql]# service iptables save iptables: Saving firewall rules to /etc/sysconfig/iptables:[ OK ]
推薦學(xué)習(xí)Linux視頻教程:https://www.php.cn/course/list/33.html