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密碼