1. 程式人生 > >13.1 設置更改root密碼

13.1 設置更改root密碼

MySQL

13.1 設置更改root密碼

大綱

技術分享圖片

準備工作:

1 啟動mysql服務

[root@AliKvn ~]# /etc/init.d/mysqld start

Starting MySQL. [ OK ]

2 設置MySQL環境變量

因為#mysql命令需要使用絕對路徑/ /usr/local/mysql/bin/mysql,這樣太麻煩了,

所以需要更改環境變量PATH,增加mysql絕對路徑。

# ls /usr/local/mysql/bin/mysql

/usr/local/mysql/bin/mysql

2.1 添加環境變量

[root@AliKvn ~]# export PATH=$PATH:/usr/local/mysql/bin/

測試使用mysql命令

技術分享圖片

2.2 使命令用久生效 把命令放在profile的最後面

[root@AliKvn ~]# vim /etc/profile

unset -f pathmunge

export PATH=$PATH:/usr/local/mysql/bin/

~

~

source /etc/profile 使其用久生效。

[root@AliKvn ~]# source /etc/profile


3 進入mysql

-u指定用戶,-p指定密碼(如果無密碼,直接回車進入)

[root@AliKvn ~]# mysql -uroot -p

mysql> quit

Bye


4 因為MySQL第一次進去是不需要密碼的,比較危險,所以需要設置密碼

[root@AliKvn ~]# mysqladmin -uroot password 'aminglinux.1'

Warning: Using a password on the command line interface can be insecure.

測試指定密碼進入

[root@AliKvn ~]# mysql -uroot -p

4.1 更改密碼

[root@AliKvn ~]# mysqladmin -uroot -p'aminglinux.1' password 'aminglinux.2'

Warning: Using a password on the command line interface can be insecure.


5 密碼重置(在沒有root密碼的時候修改root密碼)

在[mysqld]增加skip-grant,此配置的意義就是忽略授權,加入配置後,不需要登錄密碼即可進入MySQL

#vi /etc/my.cnf

[root@AliKvn ~]# vim /etc/my.cnf


[mysqld]

skip-grant

datadir=/data/mysql

socket=/tmp/mysql.sock


5.1 配置完成後,重啟服務使其生效。

[root@AliKvn ~]# /etc/init.d/mysqld restart

Shutting down MySQL.. [ OK ]

Starting MySQL. [ OK ]

5.2 測試

[root@AliKvn ~]# mysql -uroot

直接進入,無需任何認證。

mysql>

5.3 使用mysql庫

mysql> use mysql;

Reading table information for completion of table and column names

You can turn off this feature to get a quicker startup with -A


Database changed


5.4 進入密碼表

mysql> select password from user ;

+-------------------------------------------+

| password |

+-------------------------------------------+

| *C2586DB1E5698A5F1DC57808497DA087CC1EF767 |

| |

| |

| |

| |

| |

+-------------------------------------------+

6 rows in set (0.01 sec)


5.5 在密碼表輸入命令,更改密碼

mysql> update user set password=password('aminglinux') where user='root';

Query OK, 4 rows affected (0.00 sec)

Rows matched: 4 Changed: 4 Warnings: 0

密碼更新成功,quit退出mysql

mysql> quit

Bye


6 修改完成後,需要把跳過驗證參數(skip-grant)刪除,不然會發生很大安全隱患

[root@AliKvn ~]# vim /etc/my.cnf


[mysqld]

datadir=/data/mysql

socket=/tmp/mysql.sock

修改後,重啟服務

[root@AliKvn ~]# /etc/init.d/mysqld restart

Shutting down MySQL.. [ OK ]

Starting MySQL. [ OK ]

6.1 用新密碼測試登錄MySQL

[root@AliKvn ~]# mysql -uroot -paminglinux

Warning: Using a password on the command line interface can be insecure.

Welcome to the MySQL monitor. Commands end with ; or \g.


13.1 設置更改root密碼