mysql 遠程訪問

一、改表法。多是你的賬號不容許從遠程登錄,只能在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的文檔。

相關文章
相關標籤/搜索