Linux學習之CentOS(十三)--CentOS6.4下Mysql資料庫的安裝與配置

来源:http://www.cnblogs.com/xfxinxue/archive/2017/04/04/6665080.html
-Advertisement-
Play Games

如果要在Linux上做j2ee開發,首先得搭建好j2ee的開發環境,包括了jdk、tomcat、eclipse的安裝(這個在之前的一篇隨筆中已經有詳細講解了Linux學習之CentOS(七)--CentOS下j2ee環境搭建),如果要開發web項目,我們當然可以安裝一個myeclipse到Linux ...


如果要在Linux上做j2ee開發,首先得搭建好j2ee的開發環境,包括了jdk、tomcat、eclipse的安裝(這個在之前的一篇隨筆中已經有詳細講解了Linux學習之CentOS(七)--CentOS下j2ee環境搭建),如果要開發web項目,我們當然可以安裝一個myeclipse到Linux系統上去,這個安裝方法和安裝eclipse完全相同,就沒有記錄下來了,有了jdk、tomcat、eclipse我們就已經能進行我們的程式開發了,但是如果要做一個項目,哪怕是小的不能再小的項目都離不開數據的存儲呀!!!沒錯,咱們還差一個最重要的軟體沒有裝,也就是資料庫!!!如果沒有了資料庫,咱們做項目簡直是空想,所以呢,對於資料庫安裝這塊,專門為安裝mysql資料庫寫了這篇隨筆。。。。。。

一、mysql簡介

說到資料庫,我們大多想到的是關係型資料庫,比如mysql、oracle、sqlserver等等,這些資料庫軟體在windows上安裝都非常的方便,在Linux上如果要安裝資料庫,咱不得不首先推薦的是mysql資料庫了,而且Mysql資料庫的第一個版本就是發行在Linux系統上的。

MySQL是一個關係型資料庫管理系統,由瑞典MySQL AB公司開發,目前屬於Oracle公司。MySQL是一種關聯資料庫管理系統,關聯資料庫將數據保存在不同的表中,而不是將所有數據放在一個大倉庫內,這樣就增加了速度並提高了靈活性。MySQL的SQL語言是用於訪問資料庫的最常用標準化語言。MySQL軟體採用了雙授權政策(本詞條“授權政策”),它分為社區版和商業版,由於其體積小、速度快、總體擁有成本低,尤其是開放源碼這一特點,一般中小型網站的開發都選擇MySQL作為網站資料庫。由於其社區版的性能卓越,搭配PHP和Apache可組成良好的開發環境。

在Linux上安裝mysql資料庫,我們可以去其官網上下載mysql資料庫的rpm包,http://dev.mysql.com/downloads/mysql/5.6.html#downloads,大家可以根據自己的操作系統去下載對應的資料庫文件,目前最新的版本是5.6.10了。

在這裡我是通過yum來進行mysql資料庫的安裝的,通過這種方式進行安裝,可以將跟mysql相關的一些服務、jar包都給我們安裝好,所以省去了很多不必要的麻煩!!!

二、卸載掉原有mysql

因為mysql資料庫在Linux上實在是太流行了,所以目前下載的主流Linux系統版本基本上都集成了mysql資料庫在裡面,我們可以通過如下命令來查看我們的操作系統上是否已經安裝了mysql資料庫

[root@xiaoluo ~]# rpm -qa | grep mysql  // 這個命令就會查看該操作系統上是否已經安裝了mysql資料庫

有的話,我們就通過 rpm -e 命令 或者 rpm -e --nodeps 命令來卸載掉

[root@xiaoluo ~]# rpm -e mysql  // 普通刪除模式
[root@xiaoluo ~]# rpm -e --nodeps mysql  // 強力刪除模式,如果使用上面命令刪除時,提示有依賴的其它文件,則用該命令可以對其進行強力刪除

在刪除完以後我們可以通過 rpm -qa | grep mysql 命令來查看mysql是否已經卸載成功!!

三、通過yum來進行mysql的安裝

我是通過yum的方式來進行mysql的資料庫安裝,首先我們可以輸入 yum list | grep mysql 命令來查看yum上提供的mysql資料庫可下載的版本:

[root@xiaoluo ~]# yum list | grep mysql

就可以得到yum伺服器上mysql資料庫的可下載版本信息:

 

 

然後我們可以通過輸入 yum install -y mysql-server mysql mysql-devel 命令將mysql mysql-server mysql-devel都安裝好(註意:安裝mysql時我們並不是安裝了mysql客戶端就相當於安裝好了mysql資料庫了,我們還需要安裝mysql-server服務端才行)

 

[root@xiaoluo ~]# yum install -y mysql-server mysql mysql-deve

 

在等待了一番時間後,yum會幫我們選擇好安裝mysql資料庫所需要的軟體以及其它附屬的一些軟體

 

 

我們發現,通過yum方式安裝mysql資料庫省去了很多沒必要的麻煩,當出現下麵的結果時,就代表mysql資料庫安裝成功了

 

 

此時我們可以通過如下命令,查看剛安裝好的mysql-server的版本

 

[root@xiaoluo ~]# rpm -qi mysql-server

 

我們安裝的mysql-server並不是最新版本,如果你想嘗試最新版本,那就去mysql官網下載rpm包安裝就行了,至此我們的mysql資料庫已經安裝完成了。

四、mysql資料庫的初始化及相關配置

我們在安裝完mysql資料庫以後,會發現會多出一個mysqld的服務,這個就是咱們的資料庫服務,我們通過輸入 service mysqld start 命令就可以啟動我們的mysql服務。

註意:如果我們是第一次啟動mysql服務,mysql伺服器首先會進行初始化的配置,如:

複製代碼
[root@xiaoluo ~]# service mysqld start

初始化 MySQL 資料庫: WARNING: The host 'xiaoluo' could not be looked up with resolveip.
This probably means that your libc libraries are not 100 % compatible
with this binary MySQL version. The MySQL daemon, mysqld, should work
normally with the exception that host name resolving will not work.
This means that you should use IP addresses instead of hostnames
when specifying MySQL privileges !
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 xiaoluo 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!

                                                           [確定]
正在啟動 mysqld:                                            [確定]
複製代碼

 

這時我們會看到第一次啟動mysql伺服器以後會提示非常多的信息,目的就是對mysql資料庫進行初始化操作,當我們再次重新啟動mysql服務時,就不會提示這麼多信息了,如:

 

[root@xiaoluo ~]# service mysqld restart
停止 mysqld:                                             [確定]
正在啟動 mysqld:                                          [確定]

 

我們在使用mysql資料庫時,都得首先啟動mysqld服務,我們可以 通過  chkconfig --list | grep mysqld 命令來查看mysql服務是不是開機自動啟動,如:

 

[root@xiaoluo ~]# chkconfig --list | grep mysqld
mysqld             0:關閉    1:關閉    2:關閉    3:關閉    4:關閉    5:關閉    6:關閉

 

我們發現mysqld服務並沒有開機自動啟動,我們當然可以通過 chkconfig mysqld on 命令來將其設置成開機啟動,這樣就不用每次都去手動啟動了

 

[root@xiaoluo ~]# chkconfig mysqld on
[root@xiaoluo ~]# chkconfig --list | grep mysql
mysqld             0:關閉    1:關閉    2:啟用    3:啟用    4:啟用    5:啟用    6:關閉

 

mysql資料庫安裝完以後只會有一個root管理員賬號,但是此時的root賬號還並沒有為其設置密碼,在第一次啟動mysql服務時,會進行資料庫的一些初始化工作,在輸出的一大串信息中,我們看到有這樣一行信息 :

 

/usr/bin/mysqladmin -u root password 'new-password'  // 為root賬號設置密碼

 

所以我們可以通過 該命令來給我們的root賬號設置密碼(註意:這個root賬號是mysql的root賬號,非Linux的root賬號)

 

[root@xiaoluo ~]# mysqladmin -u root password 'root'  // 通過該命令給root賬號設置密碼為 root

 

此時我們就可以通過 mysql -u root -p 命令來登錄我們的mysql資料庫了

 

五、mysql資料庫的主要配置文件

1./etc/my.cnf 這是mysql的主配置文件

我們可以查看一下這個文件的一些信息

複製代碼
[root@xiaoluo etc]# ls my.cnf 
my.cnf
[root@xiaoluo etc]# cat my.cnf [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
複製代碼

2./var/lib/mysql   mysql資料庫的資料庫文件存放位置

我們的mysql資料庫的資料庫文件通常是存放在了/ver/lib/mysql這個目錄下

 

複製代碼
[root@xiaoluo ~]# cd /var/lib/mysql/
[root@xiaoluo mysql]# ls -l
總用量 20488
-rw-rw----. 1 mysql mysql 10485760 4月   6 22:01 ibdata1
-rw-rw----. 1 mysql mysql  5242880 4月   6 22:01 ib_logfile0
-rw-rw----. 1 mysql mysql  5242880 4月   6 21:59 ib_logfile1
drwx------. 2 mysql mysql     4096 4月   6 21:59 mysql  // 這兩個是mysql資料庫安裝時預設的兩個資料庫文件
srwxrwxrwx. 1 mysql mysql        0 4月   6 22:01 mysql.sock
drwx------. 2 mysql mysql     4096 4月   6 21:59 test  // 這兩個是mysql資料庫安裝時預設的兩個資料庫文件
複製代碼

 

我們可以自己創建一個資料庫,來驗證一下該資料庫文件的存放位置

 

複製代碼
創建一個我們自己的資料庫:
mysql> create database xiaoluo;
Query OK, 1 row affected (0.00 sec)

[root@xiaoluo mysql]# ls -l
總用量 20492
-rw-rw----. 1 mysql mysql 10485760 4月   6 22:01 ibdata1
-rw-rw----. 1 mysql mysql  5242880 4月   6 22:01 ib_logfile0
-rw-rw----. 1 mysql mysql  5242880 4月   6 21:59 ib_logfile1
drwx------. 2 mysql mysql     4096 4月   6 21:59 mysql
srwxrwxrwx. 1 mysql mysql        0 4月   6 22:01 mysql.sock
drwx------. 2 mysql mysql     4096 4月   6 21:59 test
drwx------. 2 mysql mysql     4096 4月   6 22:15 xiaoluo  // 這個就是我們剛自己創建的xiaoluo資料庫
[root@xiaoluo mysql]# cd xiaoluo/
[root@xiaoluo xiaoluo]# ls
db.opt
複製代碼

3./var/log mysql資料庫的日誌輸出存放位置

我們的mysql資料庫的一些日誌輸出存放位置都是在/var/log這個目錄下

複製代碼
[root@xiaoluo xiaoluo]# cd 
[root@xiaoluo ~]# cd /var/log
[root@xiaoluo log]# ls
amanda                cron           maillog-20130331   spice-vdagent.log
anaconda.ifcfg.log    cron-20130331  mcelog             spooler
anaconda.log          cups           messages           spooler-20130331
anaconda.program.log  dirsrv         messages-20130331  sssd
anaconda.storage.log  dmesg          mysqld.log         tallylog
anaconda.syslog       dmesg.old      ntpstats           tomcat6
anaconda.xlog         dracut.log     piranha            wpa_supplicant.log
anaconda.yum.log      gdm            pm-powersave.log   wtmp
audit                 httpd          ppp                Xorg.0.log
boot.log              ibacm.log      prelink            Xorg.0.log.old
btmp                  lastlog        sa                 Xorg.1.log
btmp-20130401         libvirt        samba              Xorg.2.log
cluster               luci           secure             Xorg.9.log
ConsoleKit            maillog        secure-20130331    yum.log
複製代碼

 

其中mysqld.log 這個文件就是我們存放我們跟mysql資料庫進行操作而產生的一些日誌信息,通過查看該日誌文件,我們可以從中獲得很多信息

 

因為我們的mysql資料庫是可以通過網路訪問的,並不是一個單機版資料庫,其中使用的協議是 tcp/ip 協議,我們都知道mysql資料庫綁定的埠號是 3306 ,所以我們可以通過 netstat -anp 命令來查看一下,Linux系統是否在監聽 3306 這個埠號:

結果如上所示,Linux系統監聽的3306埠號就是我們的mysql資料庫!!!!

 

 

 mysql連接linux系統提示“登錄出現1130 is not allowed to connect to this MySql server”問題,解決方法

 

 

錯誤解釋:伺服器沒有授權給你這個ip是不能連接的

你想root用戶名使用root密碼從任何主機連接到MySQL伺服器的話。

運行命令:mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;


如果你想允許用戶root從ip為192.168.1.3的主機連接到mysql伺服器,並使用root作為密碼
運行命令:mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.1.3' IDENTIFIED BY 'root' WITH GRANT OPTION;
上面的命令創建一個可以從任意機器以root登錄的超級賬號,口令是root。這樣,就可以使用方便的圖形工具(navicat for mysql)進行登錄和操作,包括修改root的口令。 

其中用戶名和密碼、IP換成自己的即可~~

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 閱讀目錄 (1)選擇最有效率的表名順序(只在基於規則的優化器中有效) (2)WHERE子句中的連接順序 (3)SELECT子句中避免使用 ‘ * ‘ (4)減少訪問資料庫的次數 (5)在SQL*Plus , SQL*Forms和Pro*C中重新設置ARRAYSIZE參數, 可以增加每次資料庫訪問的檢 ...
  • 感慨一句,現在寫的sql語句自己是越來越看不懂了 。。。囧 使用場景:最近做畢設的時候碰見這麼一個場景(仿攜程網) 先看大的,按航班號查詢出3條數據。這個好弄 group by(航班)就行。點擊訂票,跳出兩個欄目,經濟艙和頭等艙分別帶餘票數。查航班餘票數好解決,條件那加 count(航班)就行。難點 ...
  • 本文出處:http://www.cnblogs.com/wy123/p/6646143.html SQLServer中開啟CDC之後,在某些情況下會導致事務日誌空間被占滿的現象為:在執行增刪改語句(產生事務日誌)的過程中提示,The transaction log for database '*** ...
  • 案例環境: 操作系統: Windows 2003 SE 32bit(SP2) 資料庫版本:Microsoft SQL Server 2005 - 9.00.5069.00 (Intel X86) Aug 22 2012 16:01:52 Copyright (c) 1988-2005 Microso... ...
  • MySQL - 事務 在學習事務這一概念前,我們需要需要構思一個場景 場景構思 假設該場景發生於一個銀行轉賬背景下,月中,又到了發工資的日子。潭州教育科技集團打算給Tuple老師發放一個月的工資。(此處,我們假設轉賬都是由人工操作的),整個過程本應該如下: 公司財務核對Tuple老師工資單 確認公司 ...
  • 接著上篇博客,我們來談談java操作cassandra分頁,需要註意的是這個分頁與我們平時所做的頁面分頁是不同的,具體有啥不同,大家耐著性子往下看。 上篇博客講到了cassandra的分頁,相信大家會有所註意:下一次的查詢依賴上一次的查詢(上一次查詢的最後一條記錄的全部主鍵),不像mysql那樣靈活 ...
  • 1、memcache基本簡介 memcached是高性能的分散式記憶體緩存伺服器。一般的使用目的是,通過緩存資料庫查詢結果,減少資料庫訪問次數,以提高動態Web應用的速度、提高可擴展性。 Memcache的運行圖: Memcache的特征 memcached作為高速運行的分散式緩存伺服器,具有以下的特 ...
  • 資料庫關鍵字 關鍵字 中文意思 常用搭配詞 add 增加 alter table constraint Alter 修改 table index database view procedure trigger alter 修改 char 定長字元串 create table.(n) check 檢查 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...