1. 程式人生 > >Linux軟體安裝——mysql5.7-安裝新手入門 6、MySQL建立使用者的三種方法

Linux軟體安裝——mysql5.7-安裝新手入門 6、MySQL建立使用者的三種方法

因測試工作需要,在Linux上自搭一個mysql服務。 但對入門linux的同志,剛開始最迫切想知道的,大概一個是中文輸入法,另一個就是怎麼安裝軟體。本文主要學習了LINUX安裝軟體的特點,並完成安裝mysql的安裝作為實踐。

一、Linux軟體安裝須知:

        在windows下安裝軟體,我們只需要有EXE檔案,然後雙擊,下一步直接OK就可以了。
        但在LINUX下,不是這樣的。每個LINUX的發行版,比如UBUNTU,都會維護一個自己的軟體倉庫,我們常用的幾乎所有軟體都在這裡面。這裡面的軟體絕對安全,而且絕對的能正常安裝。

        那我們要怎麼安裝呢?
        在UBUNTU下,我們維護一個源列表,源列表裡面都是一些網址資訊,這每一條網址就是一個源,這個地址指向的資料標識著這臺源伺服器上有哪些軟體可以安裝使用。

        1、源列表檢視與編輯

        我們可以對源列表進行檢視、編輯:

        檢視:[email protected]:~# cat /etc/apt/sources.list
          編輯: l [email protected]:~# vi /etc/apt/sources.list
        對 /etc/apt/sources.list 檔案加入或者註釋(加#)掉一些源後,儲存。這時候,我們的源列表裡指向的軟體就會增加或減少一部分。

        2、更新、讀取源列表

        接下來一步:更新、讀取軟體列表
        l[email protected]:~# sudo apt-get update 不是root 登入伺服器的情況下,需要加sudo 否則不需要加
這個命令,會訪問源列表裡的每個網址,並讀取軟體列表,然後儲存在本地電腦(我們在新立得軟體包管理器裡看到的軟體列表,都是通過update命令更新的)。

        3、update後,按需upgrade(upgrade須慎用,要是源裡面有系統更新,直接給你把系統升級了。)

        l[email protected]:~# sudo apt-get upgrade
        這個命令,會把本地已安裝的軟體,與剛下載的軟體列表裡對應軟體進行對比,如果發現已安裝的軟體版本太低,就會提示你更新。如果你的軟體都是最新版本,會提示:
升級了 0 個軟體包,新安裝了 0 個軟體包,要解除安裝 0 個軟體包,有 0 個軟體包未被升級。

        4、軟體安裝總結

        簡而言之,update是更新、檢查軟體列表,upgrade是更新軟體。
        update的作用是從/etc/apt/source.list檔案中定義的源中去同步包的索引檔案,即執行這個命令其實並沒有更新軟體,而是相當於windows下面的檢查更新,獲取的是軟體的狀態
        而upgrade則是更據update命令同步好了的包的索引檔案,去真正地更新軟體。
        而dist-upgrade則是更聰明的upgrade,從man文件中看,裡面說它以更聰明的方式來解決更新過程中出現的軟體依賴問題,它也是從/etc/apt/source.list檔案中獲得地址,然後從這些地址中檢索需要更新的包。
        最後,需要注意的一點是,每回安裝軟體前,我們需要先執行update,然後才能執行安裝apt-get install XXX或upgrade和dist-upgrade,因為相當於update命令獲取了包的一些資訊,比如大小和版本號,然後再來執行安裝軟體或upgrade去下載包,如果沒有獲取包的資訊,那麼軟體安裝命令或upgrade就是無效的啦!
[email protected]:~# cat /etc/apt/sources.list
[email protected]:~# vi /etc/apt/sources.list
[email protected]:~# sudo apt-get update
[email protected]:~# sudo apt-get upgrade

二、mysql安裝準備:

作業系統:ubantu 16.04    [email protected]:~# lsb_release -a 檢視

欲安裝mysql版本 :mysql5.7

1、mysql安裝:

ubuntu上安裝mysql非常簡單隻需要幾條命令就可以完成。
首先udo apt-get update
       1. sudo apt-get install mysql-server(不是root 登入伺服器的情況下,需要加sudo 否則不需要加)
      2. apt-get isntall mysql-client   (看情況安裝,一般安裝mysql-server時會自帶安裝上)
      3.  sudo apt-get install libmysqlclient-dev(看情況安裝,一般安裝mysql-server時會自帶安裝上)
(注:apt-get install mysql-server-5.6  安裝指定版本)

2、密碼設定

安裝過程中會提示設定密碼什麼的,注意設定了不要忘了 安裝完成之後可以使用如下命令來檢查是否安裝成功:

3、檢查是否安裝成功

sudo netstat -tap | grep mysql   通過上述命令檢查之後,如果看到有mysql 的socket處於 listen 狀態則表示安裝成功。
4、登陸mysql資料庫 登陸mysql資料庫可以通過如下命令 mysql -u root -p  -u 表示選擇登陸的使用者名稱, -p 表示登陸的使用者密碼,-h表示主機ip   -P埠  上面命令輸入之後會提示輸入密碼,此時輸入密碼就可以登入到mysql。

5、遠端訪問

修改配置檔案
5.1.註釋bind-address = 127.0.0.1。
進入配置檔案修改配置:

>sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf

將bind-address = 127.0.0.1註釋掉(即在行首加#),如下:

程式碼如下: # Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
# bind-address          = 127.0.0.1

除了注視掉這句話之外,還可以把後面的IP地址修改成允許連線的IP地址。但是,如果只是開發用的資料庫,為了方便起見,還是推薦直接註釋掉。

從上面的註釋中,可以看出,舊版本的MySQL(從一些資料上顯示是5.0及其以前的版本)上使用的是skip-networking。所以,善意提醒一下,使用舊版本的小夥伴請注意一下。

5.2.刪除匿名使用者

登入進資料庫:

程式碼如下: >mysql -uroot -p123456 然後,切換到資料庫mysql。SQL如下:
程式碼如下: use mysql; 然後,刪除匿名使用者。SQL如下:
程式碼如下: delete from user where user='';

5.3.增加允許遠端訪問的使用者或者允許現有使用者的遠端訪問。

@%                    允許任意主機訪問
@localhost         允許本機訪問
@指定ip             允許指定ip主機訪問
@10.12.20.*       允許10.12.20.*ip段主機訪問

接著上面,刪除匿名使用者後,給root授予在任意主機(%)訪問任意資料庫的所有許可權。SQL語句如下:

mysql命令如下: mysql> grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option; 如果需要指定訪問主機,可以把%替換為主機的IP或者主機名。另外,這種方法會在資料庫mysql的表user中,增加一條記錄。如果不想增加記錄,只是想把某個已存在的使用者(例如root)修改成允許遠端主機訪問,則可以使用如下SQL來完成:
mysql命令如下: update user set host='%' where user='root' and host='localhost';

4.退出資料庫

mysql命令如下: mysql> exit

在MySQL Shell執行完SQL後,需要退出到Bash執行系統命令,需要執行exit。因為這個太常用也太簡單。以下內容就提示“退出”,不再重複列出這個命令。

5.5.重啟資料庫

完成上述所有步驟後,需要重啟一下資料庫,才能讓修改的配置生效。執行如下命令重啟資料庫:

Linux命令如下:

sudo service mysql restart

5.6.檢查伺服器埠是否開發,若沒有,請配置

6、MySQL建立使用者的三種方法

https://blog.csdn.net/haiross/article/details/51251571
注意:
新安裝的MySQL5.7,登入時提示密碼錯誤,安裝的時候並沒有更改密碼,後來通過免密碼登入的方式更改密碼,輸入update mysql.user  set password=password('root') where user='root'時提示ERROR 1054 (42S22): Unknown column 'password' in 'field list',原來是mysql資料庫下已經沒有password這個欄位了,password欄位改成了

authentication_string

所以更改語句替換為updateMySQL.user set authentication_string=password('root') where user='root' ;即可

7、mysql一勞永逸的幫助命令

mysql> help contents

mysql> help contents
You asked for help about help category: "Contents"
For more information, type 'help <item>', where <item> is one of the following
categories:
   Account Management
   Administration
   Compound Statements
   Data Definition
   Data Manipulation
   Data Types
   Functions
   Functions and Modifiers for Use with GROUP BY
   Geographic Features
   Help Metadata
   Language Structure
   Plugins
   Procedures
   Storage Engines
   Table Maintenance
   Transactions
   User-Defined Functions
   Utility


mysql> help drop
Many help items for your request exist.
To make a more specific request, please type 'help <item>',
where <item> is one of the following
topics:
   ALTER TABLE
   ALTER TABLESPACE
   DEALLOCATE PREPARE
   DROP DATABASE
   DROP EVENT
   DROP FUNCTION
   DROP FUNCTION UDF
   DROP INDEX
   DROP PROCEDURE
   DROP SERVER
   DROP TABLE
   DROP TABLESPACE
   DROP TRIGGER
   DROP USER
   DROP VIEW