這里寫目錄標題
- 更改登錄密碼:
- 有權限賬號能登錄mysql中:
- 有權限賬號不能登錄mysql中:
- mysql5.6版本命令
- mysql5.7版本命令
- 修改密碼8.0版本
- 改完后:
- mysql登錄不上了
- 本機安裝了5.6后,又安裝了mysql8.0
更改登錄密碼:
有權限賬號能登錄mysql中:
修改當前用戶密碼
set password=password('redhat');
有權限賬號不能登錄mysql中:
先停mysql,修改配置文件my.cnf
systemctl stop mariadb #停止mysql
vim /etc/my.cnf #更改配置文件
在mysqld下新增一行 skip-grant-tables
[mysqld]
skip-grant-tables
重啟mysql
systemctl start mariadb
mysql 空密碼進入
mysql -uroot
進入mysql庫,查看user表:
use mysql;
select Host,User,Password from mysql.user;
添加密碼:
grant all on *.* to root@localhost identified by '123456' with grant option;
mysql5.6版本命令
update mysql.user set password=password('123456') where user='root';
flush privileges; #刷新
exit
mysql5.7版本命令
update user set authentication_string=password('123456') where user='root' and Host='localhost';
flush privileges; #刷新
exit
修改密碼8.0版本
新搭建好的mysql,查看默認密碼,如沒有則單機登錄到mysql
cat /var/log/mysqld.log | grep localhost
更改密碼為空即‘mima’處無內容,即為免密(亦可設置你習慣的密碼,就不是免密了)
alter user 'root'@'localhost' identified by 'mima';
flush privileges;
exit
改完后:
vim /etc/my.cnf
#skip-grant-tables #注釋
重啟mysql服務
systemctl restart mariadb
mysql登錄不上了
大概率是裝有其他mysql,默認是在/tmp/mysql.sock
報錯信息如下:
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
查找到mysqld.sock 對應位置添加軟連接
ps -ef | grep mysql
rm /var/run/mysqld/mysqld.sock
ln -s /tmp/mysql.sock /var/run/mysqld/mysqld.sock
重啟mysql
service mysqld restart
本機安裝了5.6后,又安裝了mysql8.0
ubuntu22 發現有多個mysql 導致未找到mysqld.sock
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
進行刪除
dpkg -l | grep mysql
#ii mysql-client-core-8.0 8.0.37-0ubuntu0.22.04.3 amd64 MySQL database core client binaries
apt-get remove mysql-client-core-8.0
重啟mysql恢復
systemctl status mysql