Ubuntu apt 安裝MySQL的用戶名和密碼


Ubuntu系統使用apt安裝的mysql在安裝過程中沒有給出輸入密碼的選項,而是給了一個默認的用戶名和密碼,那只能根據默認用戶名和密碼登錄mysql后修改用戶名和密碼了.

查看默認用戶名和密碼

    //打開文件 /etc/mysql/debian.cnf查看默認用戶名和密碼
    [client]
    host = localhost
    user = debian-sys-maint
    password = 24j7HYTEqgPv0Ozg
    socket = /var/run/mysqld/mysqld.sock
    [mysql_upgrade]
    host = localhost
    user = debian-sys-maint
    password = 24j7HYTEqgPv0Ozg
    socket = /var/run/mysqld/mysqld.sock

 

根據默認的用戶名和密碼登錄mysql(輸入命令后把上面的密碼粘貼進去)

$ mysql -udebian-sys-maint -p

 

在這一步可能會報如下的一個錯誤

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)

遇到這個錯誤修改mysql配置文件將套接字指定為mysql默認分配的就行了,修改/etc/my.cnf,將socket的值改為/var/run/mysqld/mysqld.sock即可.

修改用戶名和密碼

登錄mysql之后執行如下語句

mysql> update mysql.user set authentication_string=password('newpassword') where user='root';

 

刷新權限列表

    mysql> flush privileges;
    mysql> exit;

 

重啟mysql

$ sudo service mysql restart

 

使用剛設置的root賬號登錄時可能會遇到如下問題

ERROR 1698 (28000): Access denied for user ‘root’@’localhost’

 

產生這個問題的原因是Ubuntu默認安裝的mysql使用的是UNIX auth_socket plugin
,意味着mysql用戶名必須和登錄當前Ubuntu系統的用戶名一樣才能登錄,查看一下root用戶使用的是什么類型的,先使用默認用戶名和密碼登錄mysql,然后查看

    mysql> USE mysql;
    mysql> SELECT User, Host, plugin FROM mysql.user;
     
    +------------------+-----------------------+
    | User | plugin |
    +------------------+-----------------------+
    | root | auth_socket |
    | mysql.sys | mysql_native_password |
    | debian-sys-maint | mysql_native_password |
    +------------------+-----------------------+

 

顯然root賬戶使用的是auth_socket,修改root賬戶使用mysql_native_password即可

    mysql> UPDATE user SET plugin='mysql_native_password' WHERE User='root';
    mysql> FLUSH PRIVILEGES;
    mysql> exit;

 

重啟mysql重新登錄即可

$ sudo service mysql restart

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM