在CentOS上安裝MySQL,參考網上的一些文章,整理了一下,希望可以幫到需要的朋友。 首先我們先查看一下自己的系統是否已經安裝了MySQL,因為有一些Linux發行版集成了MySQL資料庫,我們可以通過 命令來查看系統是否已經安裝了MySQL資料庫。 ![rpm命令結果][1] 如果已經安裝了M ...
在CentOS上安裝MySQL,參考網上的一些文章,整理了一下,希望可以幫到需要的朋友。
首先我們先查看一下自己的系統是否已經安裝了MySQL,因為有一些Linux發行版集成了MySQL資料庫,我們可以通過rpm -qa
命令來查看系統是否已經安裝了MySQL資料庫。
[root@localhost ~]# rpm -qa | grep mysql //查看當前系統是否已安裝了MySQL資料庫,如果已經安裝,還可以看到當前資料庫的版本。
如果已經安裝了MySQL,那我們可以通過rpm -e
命令或者rpm -e --nodeps
命令來卸載
[root@localhost ~]# rpm -e mysql //普通刪除模式
[root@localhost ~]# rpm -e --nodeps mysql //如果在用上面的命令刪除是提示有依賴文件,則可以用該命令徹底刪除
在刪除完以後,可以通過rpm -qa | grep mysql
命令來查看MySQL是否已經卸載成功
通過yum安裝MySQL
查看yum上MySQL的版本
使用yum list | grep mysql
命令來查看yum上提供的MySQL版本:
安裝MySQL
上面找到好多MySQL相關的包,該安裝哪個?大概瞭解一下這些包的都是什麼的。
- mysql-server ----MySQL伺服器,需要安裝,除非你只想連接運行在其他機器上的MySQL資料庫。
- mysql-client/mysql ----MySQL客戶端程式,用於連接並操作MySQL伺服器
- mysql-devel ---- 庫和包含文件,如果你想要編譯其他MySQL客戶端,則需要該rpm包
- mysql-shared ---- 該軟體包包含某些語言和應用程式需要動態裝載的共用庫
- mysql-bench ---- MySQL資料庫伺服器的基準和性能測試工具
使用命令 yum install -y mysql-server mysql mysql-devel
安裝MySQL,運行該命令後,需要做的就是等待和確認安裝,之後MySQL就安裝好了。
等待安裝完成後,可以使用 rpm -qi mysql-server
命令查看安裝的MySQL-server的版本等相關信息。
啟動mysql
安裝完MySQL後,可以通過 service mysqld start
命令來啟動MySQL服務,第一次啟動mysql服務時,mysql伺服器首先會進行初始化配置,如:
[root@localhost ~]# service mysqld start
Initializing MySQL database: Installing MySQL system tables...
OK
Filling help tables...
OK
To start mysqld at boot time you have to copy
support-files/mysql.server to the right place for your system
PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !
To do so, start the server, then issue the following commands:
/usr/bin/mysqladmin -u root password 'new-password'
/usr/bin/mysqladmin -u root -h localhost.localdomain password 'new-password'
Alternatively you can run:
/usr/bin/mysql_secure_installation
which will also give you the option of removing the test
databases and anonymous user created by default. This is
strongly recommended for production servers.
See the manual for more instructions.
You can start the MySQL daemon with:
cd /usr ; /usr/bin/mysqld_safe &
You can test the MySQL daemon with mysql-test-run.pl
cd /usr/mysql-test ; perl mysql-test-run.pl
Please report any problems with the /usr/bin/mysqlbug script!
[ OK ]
Starting mysqld: [ OK ]
[root@localhost ~]#
從提示信息中我們可以看到,可以使用
/usr/bin/mysqladmin -u root password 'new-password'
為MySQL的root賬號設置密碼。
MySQL安裝好並且可以啟動了,但是使用chkconfig --list | grep mysql
命令可以查看到mysql服務並沒有開機自動啟動,所以我們每次重啟後都必須手動啟動mysql服務。
我們可以使用chkconfig mysql on
命令來設置mysql服務開機自啟動
連接mysql伺服器
啟動mysql服務後,就可以使用mysql -u root -p
命令來連接mysql伺服器了
遠程訪問MySQL資料庫
成功安裝和啟動MySQL並可以在本地連接資料庫後,我們發現此時遠程連接資料庫時,無法連接成功。此時我們要做的是開放系統的3306埠(MySQL預設的訪問埠),並且設置MySQL允許遠程訪問。
開放3306埠
使用命令 service iptables status
可以查看防火牆狀態和已開啟的埠。
其實在實驗環境中我們可以直接關閉防火牆
service iptables stop
---- 停止防火牆(重啟後失效)
chkconfig iptables off
---- 永久關閉防火牆
還是說怎麼開放埠吧!
編輯防火牆配置件 /etc/sysconfig/iptables,我們先看下這個文件的內容
可以看到22埠是開放的,照貓畫虎,添加3306埠
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
保存修改,並使用命令 service iptables restart
重啟防火牆使修改生效
現在查看防火牆狀態,發現3306埠已打開
允許MySQL遠程登錄
- 允許MySQL的root用戶使用特定的IP進行遠程登錄,並具有所有庫的操作許可權,具體操作如下:
在本機使用root用戶登錄MySQL:
mysql -u root -p
回車後會提示輸入密碼,成功登錄後進行授權操作,如:
GRANT ALL PRIVILEGES ON *.* TO root@"111.111.111.111" IDENTIFIED BY "youpassword" WITH GRANT OPTION;
刷新授權表:
FLUSH PRIVILEGES
- 也可以允許root用戶在任何地方進行登錄,並具有所有操作所有庫的許可權:
只要把上面的特定IP換成%
就OK了
GRANT ALL PRIVILEGES ON *.* TO root@'%' IDENTIFIED BY "youpassword" WITH GRANT OPTION;
相關的設置還有很多,比如只允許特定用戶登錄後對特定的庫進行特定的操作,這些大家可以自行搜素,這裡就不做詳細描述了,不然就沒完沒了了。
mysql資料庫的主要配置文件
/etc/my.cnf
-- 是mysql的主配置文件/var/lib/mysql
-- mysql資料庫的資料庫文件存放位置/var/log
-- mysql資料庫的日誌存放位置
CentOS下mysql的安裝和一些簡單的配置就說到這兒,一些具體的配置細節以後有時間再寫。