mysql 修改root密碼
-
跳過驗證
sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf [mysqld] # # * Basic Settings # user = mysql pid-file = /var/run/mysqld/mysqld.pid socket = /var/run/mysqld/mysqld.sock port = 3306 basedir = /usr datadir = /var/lib/mysql tmpdir = /tmp lc-messages-dir = /usr/share/mysql skip-external-locking skip-grant-tables在 skip-external-locking 添加skip-grant-tables
-
重啟mysql服務(wù)
sudo systemctl restart mysql
-
設(shè)置root密碼
# Mysql連接數(shù)據(jù)庫 mysql # 使用Mysql庫 use mysql # 查看root用戶是否存在 select * from user where User='root'\G設(shè)置密碼
update user set authentication_string=password('admin') , plugin='mysql_native_password' where user='root'; flush privileges;這里認(rèn)證要是用 plugin='mysql_native_password',要不會使用auth_socket認(rèn)證。(密碼登錄失敗)
講 /etc/mysql/mysql.conf.d/mysqld.cnf配置的skip-grant-tables注釋掉并重啟mysql服務(wù)
使用密碼登錄
參考: 解決MySql ERROR 1698 (28000) 錯誤:Access denied for user ‘root‘@‘localhost‘