MySQL實現遠程登入

來源:互聯網
上載者:User

Mysql預設是不允許遠端連線的,因為有很大的安全隱患。

需要手動增加可以遠端存取資料庫的使用者。

方法一、本地登入mysql,更改 "mysql" 資料庫裡的 "user" 表裡的 "host" 項,將"localhost"改為"%"

#mysql -u root -proot
mysql>use mysql;
mysql>update user set host = '%' where user = 'root';
mysql>select host, user from user;

方法二、直接授權(推薦)

從任何主機上使用root使用者,密碼:youpassword(你的root密碼)串連到mysql伺服器:

# mysql -u root -proot
mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'youpassword' WITH GRANT OPTION;

允許地址202.11.10.253上用root使用者,密碼dboomysql來串連mysql的所有資料庫,付給select,insert,update,delete許可權。


# mysql -u root -proot
grant select,insert,update,delete on *.* to root@"202.11.10.253" Identified by "dboomysql";

允許地址202.11.10.253上用root使用者,密碼dboomysql來串連mysql的所有資料庫,付給所有許可權。


# mysql -u root -proot
grant all on *.* to root@"202.11.10.253" Identified by "dboomysql"

重啟Mysql服務後,這樣就可用圖形化資料庫管理軟體(Navicat MySQL是個不錯的選擇)遠端存取Mysql 
  
mysql技巧總結


1.修改mysql中root的密碼:
shell>mysql -u root -p
mysql>SET PASSWORD FOR root=PASSWORD("root");

2.遠程登入mysql server:(當然server必須首先給某個遠端使用者授權了)
shell>mysql -h host -u user -p

3.開啟資料庫:use dbname;
顯示所有資料庫:show databases;
顯示資料庫mysql中所有的表:先use mysql;然後show tables;
顯示表的列資訊:describe user;(顯示表mysql資料庫中user表的資訊);

4.建立一個可以從任何地方串連伺服器的一個完全的超級使用者,但是必須使用一個口令something做這個
GRANT ALL PRIVILEGES ON *.* TO monty@localhost IDENTIFIED BY 'something' WITH GRANT OPTION;
GRANT ALL PRIVILEGES ON *.* TO monty@"%" IDENTIFIED BY 'something' WITH GRANT OPTION;

5.刪除授權:
REVOKE ALL PRIVILEGES ON *.* FROM root@"%";
USE mysql;
DELETE FROM user WHERE User="root" and Host="%";
FLUSH PRIVILEGES;

6. 建立一個使用者custom在特定用戶端weiqiong.com登入,可訪問特定資料庫bankaccount
mysql> GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP ON bankaccount.*
TO custom@weiqiong.com IDENTIFIED BY 'stupid';

7.重新命名表:
ALTER TABLE t1 RENAME t2;

為了改變列a,從INTEGER改為TINYINT NOT NULL(名字一樣),
並且改變列b,從CHAR(10)改為CHAR(20),同時重新命名它,從b改為c:
ALTER TABLE t2 MODIFY a TINYINT NOT NULL, CHANGE b c CHAR(20);

增加一個新TIMESTAMP列,名為d:
ALTER TABLE t2 ADD d TIMESTAMP;

在列d上增加一個索引,並且使列a為主鍵:
ALTER TABLE t2 ADD INDEX (d), ADD PRIMARY KEY (a);

刪除列c:
ALTER TABLE t2 DROP COLUMN c;

增加一個新的AUTO_INCREMENT整數列,命名為c:
ALTER TABLE t2 ADD c INT UNSIGNED NOT NULL AUTO_INCREMENT,ADD INDEX (c);
注意,我們索引了c,因為AUTO_INCREMENT柱必須被索引,並且另外我們聲明c為NOT NULL,
因為索引了的列不能是NULL。

8.刪除記錄:
DELETE FROM t1 WHERE C>10;

6.改變某幾行:
UPDATE t1 SET user=weiqiong,password=weiqiong;

7.使用name列的頭10個字元建立一個索引:
CREATE INDEX part_of_name ON customer (name(10));

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.