一、改表法。多是你的賬號不容許從遠程登錄,只能在localhost。這個時候只要在localhost的那臺電腦,登入mysql後,更改 "mysql" 數據庫裏的 "user" 表裏的 "host" 項,從"localhost"改稱"%"mysql
mysql -u root -pvmwaremysql>use mysql; mysql>update user set host = '%' where user = 'root'; mysql>select host, user from user;
二、受權法。例如,你想myuser使用mypassword從任何主機鏈接到mysql服務器的話。sql
GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%'IDENTIFIED BY 'mypassword' WI TH GRANT OPTION;
在MySQL遠程訪問中若是你想容許用戶myuser從ip爲192.168.1.6的主機鏈接到mysql服務器,並使用mypassword做爲密碼數據庫
GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.1.3'IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
我用的第一個方法,剛開始發現不行,在網上查了一下,少執行一個語句 mysql>FLUSH RIVILEGES服務器
使修改生效,就能夠了併發
另一種方法:app
在安裝mysql的機器上運行:ide
一、d:\mysql\bin\>mysql -h localhost -u rootpost
這樣應該能夠進入MySQL服務器spa
二、mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'WITH GRANT OPTIONcode
賦予任何主機訪問數據的權限
三、mysql>FLUSH PRIVILEGES
修改生效
四、mysql>EXIT
退出MySQL服務器
這樣就能夠在其它任何的主機上以root身份登陸啦。
第一招、mysql服務的啓動和中止
net stop mysql
net start mysql
第二招、登錄mysql
語法以下: mysql -u用戶名 -p用戶密碼
鍵入命令mysql -uroot -p, 回車後提示你輸入密碼,輸入12345,而後回車便可進入到mysql中了,mysql的提示符是:
mysql>
注意,若是是鏈接到另外的機器上,則須要加入一個參數-h機器IP
第三招、增長新用戶
格式:grant 權限 on 數據庫.* to 用戶名@登陸主機 identified by "密碼"
如,增長一個用戶user1密碼爲password1,讓其能夠在本機上登陸, 並對全部數據庫有查詢、插入、修改、刪除的權限。首先用以root用戶連入mysql,而後鍵入如下命令:
grant select,insert,update,delete on *.* to user1@localhost Identified by "password1";
若是但願該用戶可以在任何機器上登錄mysql,則將localhost改成"%"。
若是你不想user1有密碼,能夠再打一個命令將密碼去掉。
grant select,insert,update,delete on mydb.* to user1@localhost identified by "";
第四招: 操做數據庫
登陸到mysql中,而後在mysql的提示符下運行下列命令,每一個命令以分號結束。
一、 顯示數據庫列表。
show databases;
缺省有兩個數據庫:mysql和test。 mysql庫存放着mysql的系統和用戶權限信息,咱們改密碼和新增用戶,實際上就是對這個庫進行操做。
二、 顯示庫中的數據表:
use mysql;
show tables;
三、 顯示數據表的結構:
describe 表名;
四、 建庫與刪庫:
create database 庫名;
drop database 庫名;
五、 建表:
use 庫名;
create table 表名(字段列表);
drop table 表名;
六、 清空表中記錄:
delete from 表名;
七、 顯示錶中的記錄:
select * from 表名;
第五招、導出和導入數據
1. 導出數據:
mysqldump --opt test > mysql.test
即將數據庫test數據庫導出到mysql.test文件,後者是一個文本文件
如:mysqldump -u root -p123456 --databases dbname > mysql.dbname
就是把數據庫dbname導出到文件mysql.dbname中。
2. 導入數據:
mysqlimport -u root -p123456 < mysql.dbname。
不用解釋了吧。
3. 將文本數據導入數據庫:
文本數據的字段數據之間用tab鍵隔開。
use test;
load data local infile "文件名" into table 表名;
1:使用SHOW語句找出在服務器上當前存在什麼數據庫:
mysql> SHOW DATABASES;
2:二、建立一個數據庫MYSQLDATA
mysql> CREATE DATABASE MYSQLDATA;
3:選擇你所建立的數據庫
mysql> USE MYSQLDATA; (按回車鍵出現Database changed 時說明操做成功!)
4:查看如今的數據庫中存在什麼表
mysql> SHOW TABLES;
5:建立一個數據庫表
mysql> CREATE TABLE MYTABLE (name VARCHAR(20), sex CHAR(1));
6:顯示錶的結構:
mysql> DESCRIBE MYTABLE;
7:往表中加入記錄
mysql> insert into MYTABLE values ("hyq","M");
8:用文本方式將數據裝入數據庫表中(例如D:/mysql.txt)
mysql> LOAD DATA LOCAL INFILE "D:/mysql.txt" INTO TABLE MYTABLE;
9:導入.sql文件命令(例如D:/mysql.sql)
mysql>use database;
mysql>source d:/mysql.sql;
10:刪除表
mysql>drop TABLE MYTABLE;
11:清空表
mysql>delete from MYTABLE;
12:更新表中數據
mysql>update MYTABLE set sex="f" where name='hyq';
posted on 2006-01-10 16:21 happytian 閱讀(6) 評論(0) 編輯 收藏 收藏至365Key
13:備份數據庫
mysqldump -u root 庫名>xxx.data
14:例2:鏈接到遠程主機上的MYSQL
假設遠程主機的IP爲:110.110.110.110,用戶名爲root,密碼爲abcd123。則鍵入如下命令:
mysql -h110.110.110.110 -uroot -pabcd123
(注:u與root能夠不用加空格,其它也同樣)
三、退出MYSQL命令: exit (回車)
===========================================
MySQL的權限系統圍繞着兩個概念: 1:認證->肯定用戶是否容許鏈接數據庫服務器 2:受權->肯定用戶是否擁有足夠的權限執行查詢請求等。 顯然從上面可知,若是認證不成功的話,哪麼受權確定是沒法進行的。在這裏咱們要關注兩個表,分別是在MySQL數據庫中user表和db表。 user 表在某種程度上是獨一無二的,由於它是惟一一個在權限請求的認證和受權階段都起做用的表,也是惟一一個存數MySQL服務器相關權限的權限表。在認證階 段,它只是負責爲用戶受權訪問MySQL服務器,肯定用戶每小時的最大鏈接數和最大併發數;在受權階段,user肯定容許訪問服務器的用戶是否被賦予了操 做數據庫的全局權限,肯定用戶每小時的最大查詢數和更新數。 db表用於爲每一個用戶針對每一個數據庫賦予權限。具體的能夠查看db的字段。 用戶和權限管理命令: create user :用於建立新的用戶帳戶(從5.0版本開始有這個命令),在建立這個用戶的時候不分配任何權限,須要在建立以後經過grant命令來給改用戶分配相應的權限。 eg:create user guest@localhost identified by '123456'; grant select on mydb.* to guest@localhost; drop user:刪除一個用戶帳戶(注意在4.1.1版本以前只能刪除沒有任何權限的帳戶,5.0.2以後能夠刪除任何帳戶) eg:drop user guest; rename user:能夠實現重命名一個用戶帳號。 grant:用於管理訪問權限,也就是給用戶帳號受權。固然它一樣能夠建立一個新的用戶帳戶。 eg:grant select, insert, update, delete on new_db.* to guest@'%' identified by '88888888'; grant 權限 on 數據庫.表 to 用戶 @ 訪問方式 identified by 密碼 grant select on mydb.* to guest@localhost identified by '123456'; BTW:若是須要一個空密碼或者無密碼的帳戶,必須先用Create User命令,而後經過 grant來分配權限。若是以下操做: grant all privileges on mydb.* to visitor@'%' ;而在數據庫user表中沒有先建立visitor 用戶,則會發生1133錯誤"Can't find any matching row in the user table"。grant只能創 有密碼的帳戶。 revoke:刪除一個帳戶,具體查看MySQL的文檔。