linux安装mysql后root无法登录

linux安装mysql后root无法登录
问题:
[root@localhost mysql]# mysql -u root -p
Enter password:
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
解决方法:
方法一:
# /etc/init.d/mysql stop
# mysqld_safe --user=mysql --skip-grant-tables --skip-networking &
# mysql -u root mysql
mysql> UPDATE user SET Password=PASSWORD(’newpassword’) where USER=’root’;
mysql> FLUSH PRIVILEGES;
mysql> quit
# /etc/init.d/mysql restart
# mysql -uroot -p
Enter password: <输入新设的密码newpassword>
mysql>
方法二:
直接使用/etc/mysql/debian.cnf文件中[client]节提供的用户名和密码:
# mysql -udebian-sys-maint -p
Enter password: <输入[client]节的密码>
mysql> UPDATE user SET Password=PASSWORD(’newpassword’) where USER=’root’;
mysql> FLUSH PRIVILEGES;
mysql> quit
# mysql -uroot -p
Enter password: <输入新设的密码newpassword>
mysql>

上面方法执行完毕后,登录mysql还需要设置密码,否则无法进行其他操作,提示需设置密码
set password=password('weixiao');

mysql安装好以后在linux下的目录
      1、数据库目录
  /var/lib/mysql/

  2、配置文件
  /usr/share/mysql(mysql.server命令及配置文件)

  3、相关命令
  /usr/bin(mysqladmin mysqldump等命令)

  4、启动脚本
  /etc/init.d/mysql   start|stop|restart|status(启动脚本文件mysql的目录)


linux安装好服务后,开放端口命令:

/sbin/iptables -I INPUT -p tcp --dport 9090 -j ACCEPT; (区分大小写)

然后输入以下命令查看端口:

/etc/init.d/iptables status

最后还需要保存并重启防火墙

/etc/rc.d/init.d/iptables save (保存)

service iptables restart (重启)

一切ok,可以远程访问了

********************************************************

当用mysql工具远程访问的时候会报这个错:

Host  is not allowed to connect to this MySQL server

这是因为没有授权,如果你想从任何主机连接到mysql服务器的话。

grant all privileges on *.* to 'root'@'%' identified by 'weixiao' with grant option;

如果你想只允许用户从固定ip的主机连接到mysql服务器的话。

grant all privileges on *.* to 'root'@'170.12.12.155' identified by 'weixiao' with grant option;

你可能感兴趣的:(linux安装mysql后root无法登录)