Mysql Access denied for user 'root'mysql
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)sql
解決方法: 更改root密碼數據庫
原密碼爲空,更改root密碼服務器
# service mysql stop
# mysqld_safe --user=mysql --skip-grant-tables --skip-networking
而後登錄mysqlide
sudo mysql -u root,設置密碼ui
mysql> use mysql; mysql> update user set password=password('新密碼') where user='root'; mysql> flush privileges; mysql> quit
重啓數據庫再次登錄便可spa
# service mysql restart
Enter password: <輸入新設的密碼>rest
增長一個數據庫用戶code
mysql> insert into mysql.user (Host,User,Password) VALUES('%','your username',PASSWORD('your password')); mysql> flush privileges;
建立數據庫blog
create database DatabaseName;
grant select,insert,update,delete,create,drop,alter on DatabaseName.* to username@localhost identified by 'password';
把數據庫權限所有授予指定用戶
grant all privileges on DatabaseName.* to 'username'@'%';
遠程登錄
受權用戶root使用密碼123456從任意主機鏈接到mysql服務器:
grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option; flush privileges;
受權用戶test使用密碼123456,從指定ip爲123.4.5.6的主機鏈接到mysql服務器:
grant all privileges on *.* to 'test'@'123.4.5.6' identified by '123456' with grant option; flush privileges;
而後咱們查詢用戶狀況
mysql> use mysql; mysql> select Host,User from user;
若是是相似與這樣的輸出,test前有%,表明從任意主機登錄
+----------------+------+ | Host | User | +----------------+------+ | % | test | | 123.4.5.6 | test | | localhost | root | +----------------+------+
好比我想讓root從任意ip遠程訪問,也能夠在這裏直接修改
mysql> update user set host = '%' where user = 'root';
備份mysql數據庫
mysqldump -u 用戶名 -p 密碼 數據庫名 > back.sql //備份指定數據庫 mysqldump --all-databases > bak.sql //備份全部數據庫
還原mysql數據庫
mysql -u 用戶名 -p 密碼 數據庫名 < bak.sql