在Debian中玩轉MySql 下

2021-04-13 05:24:01 字數 3977 閱讀 7956

1. 停止mysql服務的幾種方法

1): $:>/usr/local/mysql/bin/mysqladmin -u root -p shutdown

2): $:>/usr/local/mysql/support-files/mysql.server stop

3): 也可以先通過ps -ef 查詢出mysql的程序id,通過kill -9 (id)來停止程序

2. 啟動mysql也還可以通過如下方式來啟動

$:>/usr/local/mysql/support-files/mysql.server start

3. mysqladmin還可以用來修改密碼

格式: mysqladmin -u使用者名稱 -p舊密碼 password 新密碼

(特別注意: password前面沒有橫槓,-p和舊密碼之間不要有空格)

#給root加個密碼123,由於開始root沒有密碼,所以-p 舊密碼可以省略。

$:>/usr/local/mysql/bin/mysqladmin -u root password 123

4.mysql中的使用者授權

當我們在使用mysql的時候,都必須有乙個資料庫mysql用來管理許可權,這個資料庫最好只讓root使用者可以        看 見,   其他的使用者都不可見。

mysql環境中的命令,所以後面都帶乙個分號作為命令結束符。

1) grant格式:

grant on 資料庫名稱.表名稱 to 使用者名稱@使用者位址 identified by 『連線口令』with          grant   option

代表select,insert,update,delete,create,drop,index,alter,grant,references,reload,shutdown,process,file  等14個許可權。

當被all privileges或者all代替,表示賦予使用者全部許可權   當被usage代替時,只允許登陸,其他什麼都不允許做

當資料庫名稱.表名稱被*.*代替,表示賦予使用者操作伺服器上所有資料庫所有表的許可權。

使用者位址可以是localhost,也可以是ip位址、機器名字、網域名稱。也可以用』%'表示從任何位址連線。

'連線口令'可以為空

mysql>grant select,insert,update,delete,create,drop on vtdc.employee to [email protected] identified by   『123′;

給來自10.163.225.87的使用者joe分配可對資料庫vtdc的employee表進行select,insert,update,delete,create,drop等操作的許可權,並設  定口令為123。

mysql>grant all privileges on vtdc.* to [email protected] identified by 『123′;

給來自10.163.225.87的使用者joe分配可對資料庫vtdc所有表進行所有操作的許可權,並設定口令為123。

mysql>grant all privileges on *.* to [email protected] identified by 『123′;

給來自10.163.225.87的使用者joe分配可對所有資料庫的所有表進行所有操作的許可權,並設定口令為123。

mysql>grant all privileges on *.* to joe@localhost identified by 『123′;

給本機使用者joe分配可對所有資料庫的所有表進行所有操作的許可權,並設定口令為123。

你想myuser使用mypassword從任何主機連線到mysql伺服器的話。

grant all privileges on *.* to 'myuser'@'%』 identified by 'mypassword' with grant option;

你想允許使用者myuser從ip為192.168.1.3的主機連線到mysql伺服器,並使用mypassword作為密碼

grant all privileges on *.* to 'myuser'@'192.168.1.3′ identified by 'mypassword'

增加乙個使用者test1密碼為abc,讓他可以在任何主機上登入,並對所有資料庫有查詢、插入、修改、刪除的許可權。首先用以root使用者連入mysql,然後鍵入以下命令:

grant select,insert,update,delete on *.* to test1@"%" identified by "abc";

增加乙個使用者test2密碼為abc,讓他只可以在localhost上登入,並可以對資料庫mydb進行查詢、插入、修改、刪除的操作(localhost    

指本地主機,即mysql資料庫所在的那台主機),這樣使用者即使用知道test2的密碼,他也無法從internet上直接訪問資料庫,只能通過mysql主機上的web頁來訪問了。

grant select,insert,update,delete on mydb.* to test2@localhost identified by "abc";

如果你不想test2有密碼,可以再打乙個命令將密碼消掉。

grant select,insert,update,delete on mydb.* to test2@localhost identified by "";

建立乙個名為test的使用者,他可以使用口令sa從localhost連線mysql,並僅僅可以訪問名為mydb的資料庫的全部 內容(並可以將此許可權賦予其他使用者),這可以使用下面的grant命令: 

mysql> grant all on mydb.* to test@localhost  identified by "sa"  with grant option; 

現在改變這個使用者的口令為123,命令格式如下:

mysql> grant usage on *.* to test@local identified by "123"; 

我們沒有賦予任何另外的許可權(the usage許可權只能允許使用者登入),但是使用者已經存在的許可權不會被改變。 

2) 直接通過insert函式往mysql資料庫的user表中加入一條記錄。

增加乙個使用者,使用者名為jeffrey,密碼為biscuit。

mysql> insert into mysql.user (host,user,password)

values('%','jeffrey',password('biscuit'));

mysql> flush privileges

修改root使用者的登陸方式

mysql>update user set host = 『%』  where user =』root』;

mysql>flush privileges;

5. 顯示命令

show databases;   //顯示資料庫

use mysql

show tables;   //顯示mysql資料庫中的表

describe user;  //顯示mysql資料庫中user表的結構.

6. mysql 忘記口令的解決辦法

如果 mysql 正在執行,首先殺之

啟動 mysql,就可以不需要密碼就進入 mysql 了。

$:> /usr/local/mysql/bin/safe_mysqld --skip-grant-tables & ;

$:> mysql -u root -p

enter password:[直接回車]

mysql>use mysql

mysql>update user set password=password("sa") where user="root";

mysql>flush privileges;

mysql>exit;

重新殺 mysql ,用正常方法啟動mysql使用密碼sa就可以登陸。

在Debian中玩轉MySql 上)

2 apt get update 回車 這個命令就是更新debian的可安裝檔案列表 3 apt get install ssh 回車 安裝ssh協議 然後就可以通過winscp把mysql的安裝檔案拷貝到虛擬機器的 usr local 目錄下。2.開始在debian的系統中安裝mysql 1 cd...

在Debian中配置網路

1.配置ip和dns 修改 etc network inte ces檔案 auto lo iface lo inet loopback description static ip auto eth0 iface eth0 inet static address 192.168.1.119 netma...

玩轉mysql 玩轉Mysql命令

連線資料庫mysql hlocalhost uroot p 在mysql的跟目錄檔案下進行 show databses 展示所有資料庫 解決方法1 在mysql安裝目錄下找到my.ini,將 mysql 下的default character set latin1改為default characte...