1. 程式人生 > >在Ubuntu16.04下安裝MySQL與解除安裝

在Ubuntu16.04下安裝MySQL與解除安裝

 

首先執行下面三條命令:

sudo apt-get install mysql-server

sudo apt install mysql-client

sudo apt install libmysqlclient-dev

安裝成功後可以通過下面的命令測試是否安裝成功:

sudo  netstat -tap | grep mysql

出現如下資訊證明安裝成功:

安裝成功

可以通過如下命令進入mysql服務:

mysql -u root -p你的密碼

現在設定mysql允許遠端訪問,首先編輯檔案/etc/mysql/mysql.conf.d/mysqld.cnf:

sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf

註釋掉bind-address = 127.0.0.1:
127.0.0.1

儲存退出,然後進入mysql服務,執行授權命令:

語法模板
grant all privileges on 庫名.表名 to '使用者名稱'@'IP地址' identified by '密碼' [with grant option];

庫名:要遠端訪問的資料庫名稱,所有的資料庫使用“ * ”

表名:要遠端訪問的資料庫下的表的名稱,所有的表使用“ * ”

使用者名稱:要賦給遠端訪問許可權的使用者名稱稱

IP地址:可以遠端訪問的電腦的IP地址,所有的地址使用“%”

密碼:要賦給遠端訪問許可權的使用者對應使用的密碼

[with grant option]:許可權賦予/取消是級聯的,如將with grant option用於物件授權時,被授予的使用者也可把此物件許可權授予其他使用者或角色,不同的是但管理員收回用with grant option授權的使用者物件許可權時,許可權會因傳播而失效,如grant select on table with grant option to A,A使用者把此許可權授予B,但管理員收回A的許可權時,B的許可權也會失效,但管理員不可以直接收回B的SELECT ON TABLE 許可權。

all privilege 許可權如下:

        insert (插入資料) 
        select (查詢資料) 
        update (更新表的資料) 
        delete (刪除表中資料) 
        create (建立庫,表) 
        drop (刪除庫,表) 
        refernces 
        index (建立索引) 
        alter (更改表屬性) 
        create temp orary tables 
        lock tables (鎖表) 
        execute 
        create view(建立檢視) 
        show view (顯示檢視) 
        create routine (建立儲存過程) 
        alter routine (修改儲存過程) 
        event (事件) 
        trigger on (建立觸發器)

資料庫許可權最好由 DBA 來統一管理。

授權一個使用者(root)密碼123456,可以對所有的庫,所有的表做所有操作。來源地不限

grant all on *.* to [email protected]'%' identified by '123456' with grant option;

重新整理生效,否則就要重啟MySQL服務才可以

flush privileges;

然後執行quit命令退出mysql服務,執行如下命令重啟mysql:

service mysql restart

現在在windows下可以使用navicat遠端連線ubuntu下的mysql服務:

連線

可能出現的錯誤

Ubuntu中更新軟體時經常會碰到一個問題:
E: 無法獲得鎖 /var/cache/apt/archives/lock - open (11 資源臨時不可用)
E: 無法對下載目錄加鎖
造成該問題的原因是系統中只允許有一個apt-get程序,當前的鎖已經被佔用了。我們可以關掉當前的apt-get程序後,再執行我們自己的操作。
解決方案一:

 先執行命令ps aux | grep apt-get,找出當前的apt-get進行,然後kill掉該程序。

解決方案二:

直接rm rm /var/cache/apt/archives/lock 和 rm /var/lib/dpkg/lock。

E: 解決Ubuntu安裝Mysql時未設定密碼

需要sudo vim /etc/mysql/debian.cnf

在這個檔案裡面有著MySQL預設的使用者名稱和使用者密碼,
最最重要的是:使用者名稱預設的不是root,而是debian-sys-maint

Ubuntu16.04完全解除安裝Mysql 5.7

sudo apt purge mysql-*

sudo rm -rf /etc/mysql/ /var/lib/mysql

sudo apt autoremove