通過配置文件修改
mysql5.7 mysql庫下面的user表沒有password字段無法修改密碼,5.7版本已經不再使用password來作為密碼的字段了 而改成了authentication_string
登錄報錯
[root@master1 ~]# mysql -uroot -p Enter password: ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
修改配置文件
#查看my.cnf文件 vi /etc/mysql/my.cnf #文件內有引用mysqld.cnf.d文件 #切換目錄 cd /etc/mysql/mysqld.cnf.d #修改mysqld.cnf文件 vi mysqld.cnf #在mysqld模塊下添加(越過驗證) skip-grant-tables
修改密碼
#登錄mysql #mysql -u debian-sys-maint -p
mysql -u root -p #指定數據庫 use mysql; #修改密碼 update mysql.user set authentication_string=password('123456') where user = 'root'; #刷新權限 flush privileges;
還原mysqld.cnf文件
#vi mysqld.cnf #注釋掉下面配置 skip-grant-tables #重啟mysql服務 systemctl restart mysql
登錄mysql數據庫
方式一:配置遠程登錄用戶
#登錄mysql mysql -u root -p #指定數據庫 use mysql; #查看用戶信息 select User,authentication_string,Host from user; #添加用戶 GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' ; #這里的123456為你給新增權限用戶設置的密碼,%代表所有主機,也可以具體到你的主機ip地址 #刷新 flush privileges;
方式二:配置文件遠程訪問
#修改mysql配置文件 cd /etc/mysql/mysql.conf.d vi mysqld.cnf #修改如下語句 將如下 bind-address = 127.0.0.1 修改成 bind-address = 0.0.0.0