1、登陸mysql資料庫
mysql -u root -p
查看user表
| 代碼如下 |
複製代碼 |
mysql> use mysql; Database changed mysql> select host,user,password from user; +--------------+------+-------------------------------------------+ | host | user | password | +--------------+------+-------------------------------------------+ | localhost | root | *A731AEBFB621E354CD41BAF207D884A609E81F5E | | 192.168.1.1 | root | *A731AEBFB621E354CD41BAF207D884A609E81F5E | +--------------+------+-------------------------------------------+ 2 rows in set (0.00 sec) |
可以看到在user表中已建立的root使用者。host欄位表示登入的主機,其值可以用IP,也可用主機名稱,
(1)有時想用本地IP登入,那麼可以將以上的Host值改為自己的Ip即可。
2、實現遠端連線(授權法)
將host欄位的值改為%就表示在任何用戶端機器上能以root使用者登入到mysql伺服器,建議在開發時設為%。
update user set host = ’%’ where user = ’root’;
將許可權改為ALL PRIVILEGES
| 代碼如下 |
複製代碼 |
mysql> use mysql; Database changed mysql> grant all privileges on *.* to root@'%' identified by "root"; Query OK, 0 rows affected (0.00 sec) mysql> select host,user,password from user; +--------------+------+-------------------------------------------+ | host | user | password | +--------------+------+-------------------------------------------+ | localhost | root | *A731AEBFB621E354CD41BAF207D884A609E81F5E | | 192.168.1.1 | root | *A731AEBFB621E354CD41BAF207D884A609E81F5E | | % | root | *A731AEBFB621E354CD41BAF207D884A609E81F5E | +--------------+------+-------------------------------------------+ 3 rows in set (0.00 sec) |
這樣機器就可以以使用者名稱root密碼root遠端存取該機器上的MySql.
3、實現遠端連線(改表法)
| 代碼如下 |
複製代碼 |
use mysql; update user set host = '%' where user = 'root'; |
這樣在遠端就可以通過root使用者訪問Mysql.
另一種方法
mysql預設是不可以通過遠程機器訪問的,通過下面的配置可以開啟遠端存取.
我的mysql環境是ubuntu+mysql5
1.修改/etc/mysql/my.conf,修改bind-address,指定為本機實際ip地址,你的my.con修改完大概是如下的樣子
| 代碼如下 |
複製代碼 |
[mysqld] # # * basic settings # default-character-set=utf8 default-storage-engine=innodb bind-address = 192.168.1.107 user = mysql pid-file = /var/run/mysqld/mysqld.pid socket = /var/run/mysqld/mysqld.sock port = 3306 basedir = /usr datadir = /var/lib/mysql tmpdir = /tmp language = /usr/share/mysql/english skip-external-locking |
2.用root登陸mysql執行如下命令
| 代碼如下 |
複製代碼 |
grant all on sonardb.* to sonar@'%' identified by '123456'; grant all on sonardb.* to sonar@localhost identified by '123456';
|
sonardb替換為你想訪問的資料庫名,sonar是你的想使用的使用者名稱,123456替換為你的密碼,這樣就開啟了遠端存取功能.
更多詳細內容請查看:http://www.111cn.net/database/mysql/34989.htm
上面的兩種方法一種是直接用root使用者在cmd模式下操作,一種是在設定檔裡面操作,大同小義了吧。