1、mysql安裝後密碼無法登陸問題
這時你需要進入/etc/mysql目錄下,然後查看裡面的用戶名和密碼,然後
sudo vim debian.cnf
使用這個文件中的用戶名和密碼進入mysql,假如debian.cnf中的用戶名為debian-sys-maint,則:
mysql -u debian-sys-maint -p
按回車,這時需要你輸入密碼,復制debian.cnf中的密碼(不要手動輸入,因為容易產生錯誤)。
在終端中會出現mysql>這樣的提示:
use mysql
show tables;//查看mysql數據庫中的表,會看到一個user表。
select * from user;//查看一下這個表中是否有root用戶,如果有:
update user set password=password("root") whereuser="root";//更改root用戶進入mysql的密碼。
flush privileges;
quit退出mysql。
然後用
mysql -u root -proot
重新登錄mysql即可。
如果user表中沒有root用戶:用grant命令
grant all privileges on *.* to root@localhost identified by'123'
其中*.*代表所有數據庫中的所有表,即database name.your table'123'表示為root用戶的密碼。
flush privileges;
select * from user;查看一下user這個表中是否有root用戶。如果有表示添加成功。
quit退出mysql.
mysql -u root -p 123進入mysql即可。
2、配置遠程連接
①
vim /etc/mysql/my.cnf找到bind-address = 127.0.0.1
注釋掉這行,如:#bind-address = 127.0.0.1
或者改為: bind-address = 0.0.0.0
允許任意IP訪問;
或者自己指定一個IP地址。
重啟 MySQL:sudo /etc/init.d/mysql restart
②
授權用戶能進行遠程連接
grant all privileges on *.* to root@"%" identified by "password" with grant option;
flush privileges;
第一行命令解釋如下,*.*:第一個*代表數據庫名;第二個*代表表名。這裡的意思是所有數據庫裡的所有表都授權給用戶。root:授予root賬號。“%”:表示授權的用戶IP可以指定,這裡代表任意的IP地址都能訪問MySQL數據庫。“password”:分配賬號對應的密碼,這裡密碼自己替換成你的mysql root帳號密碼。