1.
ERROR 1044 (42000): Access denied for user ''@'localhost' to database 'mysql'
刚在服务器上装上mysql,发现以root加密码的方式总是登录不了,而直接输入mysql则直接就可以登录了。或者以mysql –u root方式可以登录,但是实习上登录上去也是一个空用户(''@'localhost'),不是root用户,看不了其他数据库。
干货,删除空用户方法
1.关闭mysql
service mysqld stop
或者
/etc/init.d/mysql stop
2.屏蔽权限
mysqld_safe --skip-grant-table
屏幕出现: Starting demo from .....
3.新开起一个终端输入
mysql -u root mysql
mysql> delete from user where USER=
''
;mysql> FLUSH PRIVILEGES;mysql> \q
4.关闭所有终端,重启或者开启mysql。
干货,为root设置密码
1.关闭mysql
service mysqld stop
2.屏蔽权限
mysqld_safe --skip-grant-table
屏幕出现: Starting demo from .....
3.新开起一个终端输入
mysql -u root mysql
mysql> UPDATE user SET Password=PASSWORD(
'newpassword'
) where USER=
'root'
;mysql> FLUSH PRIVILEGES;mysql> \q
2.
localhost没有映射到127.0.0.1?试试#mysql -u root -p xxxx -h 127.0.0.1
如果你想允许用户root从ip为127.0.0.1的主机连接到mysql服务器,并使用mypassword作为密码
Sql代码
1. GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.1.3' IDENTIFIED BY
2. 'mypassword' WITH GRANT OPTION;
3. FLUSH PRIVILEGES;
grant all privileges on *.* to 'root'@'localhost' identified by '123456' with grant option;//允许localhost(本机)利用用户名为root;密码为123456的方式连接本机
FLUSH PRIVILEGES; //刷新权限