2、列出mysql現行環境
mysqladmin variables -u root -p <==使用指令
mysql>show variables; <==使用mysql語法
============================================================================================
3、登入資料庫
mysql -u root -p towns <==使用root帳號,登入towns資料庫
mysql -h localhost -u root -p towns <==使用root帳號登入本機端的towns資料庫, 做網路管理時,-h很重要
============================================================================================
4、建立資料庫
4.1 mysql -u root -p <==使用root登入mysql
4.2 打入root密碼
4.3 create database towns; <==使用mysql語法,新增towns這個資料庫,“;”一定要加
4.4 mysqladmin -u root create cacti -p <==也可以用指令建立資料庫
============================================================================================
5、刪除資料庫
5.1 mysql -u root -p <==使用root登入mysql
5.2 打入root密碼
5.3 drop database towns; <==使用mysql語法,刪除towns這個資料庫,“;”一定要加
============================================================================================
6、列出現有資料庫、資料表、資料欄
6.1 mysql -u root -p <==使用root登入mysql
6.2 打入root密碼
6.3 show databases;
6.4 mysql -e "show databases; " -p <==用指令顯示資料庫
6.5
------------------------------------------------------------------------------------------------------------------------------------
6.1 mysqlshow -u root -p <==使用root登入mysql,並列出所有的資料庫
6.2 mysqlshow -u root -p towns <==使用root登入mysql,並列towns資料庫中的資料表
6.3 mysqlshow -u root -p towns towns <==使用root登入mysql,指定towns資料庫,並列出towns資料表
資料來源:http://tsuozoe.pixnet.net/blog/post/21283890
============================================================================================
7、匯入資料庫
7.1 需先建立資料庫(如4),可以看一下,dump下來的語法中,是否有下CREATE DATABASE,有就不用建了
7.2 mysql -u root -p abc <'/home/towns/abc/abc.sql' <==將abc.sql匯入abc資料庫中
============================================================================================
8、匯出資料庫
8.1 資料庫需存在
8.2 mysqldump -u root -p abc >'/home/towns/abc/abc.sql' <==將abc資料庫匯出到abc.sql檔案
============================================================================================
9、新增使用者(需先登入mysql server)
9.1 使用grant新增
9.1.1 grant all on abc.* to towns identified by 'abc123' with grant option;
建立towns使用者具有abc完整的管理權,密碼為abc123
9.1.2 grant all on abc.* to towns@localhost identified by 'abc123' with grant option;
建立本機端towns使用者具有abc完整的管理權,密碼為abc123
9.1.3 grant all on *.* to towns@localhost identified by 'abc123' with grant option;
建立本機端towns使用者具有所有資料庫完整的管理權,密碼為abc123
9.1.3.1 grant all on *.* to towns@localhost identified by 'abc123';
與上面的方法相同,獨缺“允許特權”
9.2 使用INSERT
9.3 CREATE USER
--------------------------------------------------------------------------------------------
9.4 變更密碼
9.4.1 grant all on *.* to towns@localhost identified by '123abc' with grant option;
將towns使用者的密碼,由abc123變成123abc
9.4.2 SET PASSWORD FOR 'root'@'localhost.localdomain' = PASSWORD( '*******' )
SET PASSWORD FOR 'root'@'localhost' = PASSWORD( '*******' )
============================================================================================
10、刪除使用者
10.1 DELETE FROM mysql.user WHERE User='towns' ;
刪除使用者towns
10.2 DROP USER test@localhost;
============================================================================================
11、登入資料庫帳號、密碼常見檔案位置
============================================================================================
12、更新資料庫資料(在做任何更動後,建議要使用這指令)
12.1 flush privileges;
============================================================================================
13、在作業系統中,檢查權限之命令
13.1 mysqlaccess localhost user mysql -U root -P abc123 <==檢查user帳號的權限
13.2 mysqlaccess localhost towns abc123 -U root -P abc123 <==檢查towns帳號的權限
============================================================================================
14、權限管理
14.1 grant SELECT,INSERT,UPDATE on abc.* to towns@localhost identified by 'abc123';
開放三種權限(SELECT,INSERT,UPDAT)給towns(本機端),管理o2secure所有的表格
14.2 開放多個資料庫(o2secure、test、abc)給一個帳號(towns)管理,需一條一條加
grant all on abc.* to towns@localhost identified by 'abc123';
grant all on test.* to towns@localhost identified by 'abc123';
grant all on abc.* to towns@localhost identified by 'abc123';
--------------------------------------------------------------------------------------------
14.3 權限
資料庫(DateBase),十五種權限:
ALL PRIVILEGES、ALTER、CREATE、DELETE、DROP、FILE、INDEX、INSERT、PROCESS、REFERENCES、RELOAD、SELECT、SHUTDOWN、UPDATE、USAGE
資料表(Table),八種權限:
SELECT、INSERT、UPDATE、DELETE、CREATE、DROP、INDEX、ALTER
資料欄(column),三種權限:
SELECT INSERT UPDATE
修改權限
14.4 REVOKE 權限 ON 資料庫(或資料表TABLE) TO user@host IDENTIFIED BY '密碼';
============================================================================================
GRANT ALL PRIVILEGES ON `abc` . * TO abc@% WITH GRANT OPTION ;
DROP USER towns@';
DROP USER test@localhost';
---------------------------------------------------------------------------------------------
CREATE USER test@localhost IDENTIFIED BY '********';
GRANT USAGE ON * . * TO test@localhost IDENTIFIED BY '********' WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0 ;
SET PASSWORD FOR root@localhost = PASSWORD( '*********' ) <==在資料庫中修改密碼方式
===============================================================================================
16.忘記root密碼處理方式
Linux:
1.使用root登入
2.停止mysql服務(for redhad base)
service mysqld stop
3.使用mysqld_safe指令
mysqld_safe --skip-grant-tables &
此時,會開啟一個安全模式,並停住
4.開新的ssh,用root登入系統
5.使用mysql帳號登入mysql中
6.變更mysql中root密碼
update user set password = password('abc123') where user = 'root';
7.離開mysql
8.重新啟動mysql
9.使用root新密碼登入mysql
-----------------------------------------------------------------------------------------------
Windows:
1.用系統管理員登陸系統。
2.停止MySQL的服務。
3.進入命令視窗,然後進入MySQL的安裝目錄,比如我的安裝目錄是c:\mysql,進入C:\mysql\bin
4.跳過許可權檢查啟動MySQL,
c:\mysql\bin>mysqld-nt --skip-grant-tables 軟體發展網
5.重新打開一個視窗,進入c:\mysql\bin目錄,設置root的新密碼
c:\mysql\bin>mysqladmin -u root flush-privileges password "198651"
c:\mysql\bin>mysqladmin -u root -p shutdown
將newpassword替換為你要用的root的密碼,第二個命令會提示你輸入新密碼,重複第一個命令輸入的
密碼。
6.停止MySQL Server,用正常模式啟動Mysql
軟體發展網
7.你可以用新的密碼連結到Mysql了。
命令:
軟體發展網
net mysql start 啟動MYSQL
net stop mysql 停止MYSQL
軟體發展網
下面以在Windows系統上為例,linux上將步驟2的mysqld-nt換為safe_mysqld即可
1 、停止mysql5服務:
net stop mysql5
2、開一個DOS視窗執行:
http://www.mscto.com
c:\mysql\bin>mysqld-nt --skip-grant-tables &
3、再開一個DOS視窗執行:
c:\mysql\bin>mysql mysql
> update user set password = password('123456') where user = 'root';
root密碼即為設置為123456!
4、啟動mysql5服務:
net start mysql5
相關資料:http://www.mscto.com/MySQL/20080731665.html
===============================================================================================
17.顯示目前mysql連線的threads狀態
mysql>show processlist; <==使用mysql語法
mysqladmin processlist -u root -p <==使用指令
===============================================================================================
18.列出MySQL目前的狀態
mysql> show status; <==使用mysql語法
mysqladmin status -u root -p <==使用指令(結果不同)
===============================================================================================
19.列出mysql的使用者
SELECT User FROM mysql.user Order by User;
帳號管理
mysql中,帳號可設為僅本機使用、僅網路使用、兩者皆可,與mysql安全性有關
mysql>grant all on *.* to towns@localhost identified by 'abc123' with grant option;
利用語法建立towns可以管理所有資料庫、只能本機連線,擁有最大權限
mysql>grant all on *.* to towns01@localhost identified by 'abc123';
利用語法建立towns可以管理所有資料庫、只能本機連線,少了grant權限,其他都有
mysql>grant all on *.* to towns02@ identified by 'abc123' with grant option;
利用語法建立towns可以管理所有資料庫、能外部及本機連線,擁有最大權限
towns@locahost <==只能本機連線
towns@192.168.8.176 <==只能192.168.8.176連線,用於限制帳號連線IP
towns@127.0.0.1 <==只能本機連線
towns@locahost.localdomain <==只能本機連線
towns@ <==不限制連線來源,危險的設定,不過local不能連
19.mysql -e "GRANT ALL PRIVILEGES ON cacti.* TO cactiuser@localhost IDENTIFIED BY 'cactiuser' ; "
利用指令來新增帳號
===============================================================================================
20.更換資料庫
登入mysql後,選用某個資料庫
mysql> use cacti; <==連入cacti資料庫
21.顯示資料庫的資料表(需先選好資料庫,才能show tables)
mysql> show tables;
mysql -e "use cacti; show table; " -p <==直接使用指令下SQL語法,並使用root登入(沒設user預設為root
===============================================================================================
22.免密碼登入mysql資料庫(用於資料庫定期備份等……)
1.vim ~/.my.cnf
[client]
password=YOUR_MYSQL_PASSWORD
2.chmod 600 ~/.my.cnf
設定完成後,直接使用mysql -u [user],就可以登入了