程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> mysql 5.1版本修改密碼及遠程登錄mysql數據庫的方法

mysql 5.1版本修改密碼及遠程登錄mysql數據庫的方法

編輯:MySQL綜合教程

mysql 5.1版本修改密碼及遠程登錄mysql數據庫的方法。本站提示廣大學習愛好者:(mysql 5.1版本修改密碼及遠程登錄mysql數據庫的方法)文章只能為提供參考,不一定能成為您想要的結果。以下是mysql 5.1版本修改密碼及遠程登錄mysql數據庫的方法正文


mysql創建用戶並授權:

格式:grant 權限 on 數據庫名.表名 to 用戶@登錄主機 identified by "用戶密碼";

grant[英][grɑ:nt]   承認; 同意; 准許; 授予;

例1:允許mk用戶從localhost登錄

mysql> grant all on book.* to mk1@localhost identified by "123456";
 #允許訪問book數據庫下的所有表, 只能訪問book表,而且是同一個服務器的用戶

允許mk2用戶從任意遠端主機連接mysql服務器:

mysql> grant all privileges on *.* to mk2@'%' identified by '123456' with grant option;
# with grant option 意思是mk2用戶可以把自己的權限下放給新創建的用戶。 另外,加不加privileges都可以。%指的任意遠程主機,不包括本地地址和localhost
Flush privileges; 刷新數據庫 

測試:

[root@xuegod64 ~]# mysql -u mk2 -h 192.168.1.63 -p123456
mysql>  #登錄正常

但是:

[root@xuegod63 ~]# mysql -u mk2 -h 192.168.1.63 -p123456 #不能登錄

解決方法:

mysql> grant all privileges on *.* to 'mk2'@'192.168.1.63' identified by '123456' with grant option;
 [root@xuegod63 ~]# mysql -u mk2 -p123456  #不能登錄

解決方法:

mysql> grant all privileges on *.* to 'mk2'@'localhost' identified by '123456' with grant option;

總結: % 指的是任意遠程主機,不包括本地地址和localhost。 另外grant是立即生效。不需要執行:mysql> flush privileges;   #手動更新命令

只有手動修改了mysql相關字段,才需要執行mysql> flush privileges;

只授權部分權限:

mysql> grant select,insert,update,delete,create,drop on aa.* to 'custom'@'localhost' identified by '123456';

方法二: 直接修改表中權限文件:

mysql> use mysql;
mysql> insert into user (Host,User,Password) values('localhost','grace','123456');
mysql> select Host,User,Password from user where User="grace";
+-----------+-------+----------+
| Host   | User | Password |
+-----------+-------+----------+
| localhost | grace | 123456  |
+-----------+-------+----------+

可以看到密碼是明文存放的,現在以加密方式存儲:

mysql> insert into user (Host,User,Password) values('localhost','grace1',password("123456"));
Query OK, 1 row affected, 3 warnings (0.00 sec)
mysql> select Host,User,Password from user where User="grace1";
+-----------+--------+-------------------------------------------+
| Host   | User  | Password                 |
+-----------+--------+-------------------------------------------+
| localhost | grace1 | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |
+-----------+--------+-------------------------------------------+
1 row in set (0.01 sec)
mysql> flush privileges;  #刷新權限表,使配置文件生效

或重啟mysql 數據庫

[root@xuegod63 ~]# service mysqld restart

測試:

[root@xuegod63 ~]# mysql -u grace -p123456 #登錄不成功
ERROR 1045 (28000): Access denied for user 'grace'@'localhost' (using password: YES)
[root@xuegod63 ~]# mysql -u grace1 -p123456 #登錄成功

修改帳戶密碼:

方法一:使用mysqladmin修改密碼

例1:當root沒有密碼時:

[root@xuegod63 mysql]# mysqladmin -u root -h 192.168.1.63 password '123'
[root@xuegod63 mysql]# mysql -u root -h 192.168.1.63 -p123

例2: 當root已經有密碼時:

[root@xuegod63 ~]# mysqladmin -u root password '123456' -p123

方法二:使用 set password 修改密碼:

mysql> SET PASSWORD FOR 'grace1'@'localhost' = PASSWORD('123456');
#注,你的mysql庫中已經有記錄:grace1'@'localhost
mysql> set password = password ('1234567');
mysql> FLUSH PRIVILEGES;

重置root密碼:

[root@xuegod63 mysql]# /etc/init.d/mysqld stop
[root@xuegod63 mysql]# mysqld_safe --skip-grant-tables --skip-networking

只在mysql5.1版本有效

重新再開一個終端:   直接就可以進去了, 然後用update修改密碼

[root@xuegod63 aa]# mysql   #執行
mysql> update mysql.user set password=password('123456') where host='localhost' and user='root';
[root@xuegod63 aa]# /etc/init.d/mysqld restart
Stopping mysqld:                      [ OK ]

以上所述是小編給大家介紹的mysql 5.1版本修改密碼及遠程登錄mysql數據庫的方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對網站的支持!

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved