您好,登錄后才能下訂單哦!
下面一起來了解下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數據庫這篇文章后,很多讀者朋友肯定會想要了解更多的相關內容,如需獲取更多的行業信息,可以關注我們的行業資訊欄目。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。