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...