linux安装mysql后root无法登录 sql 无法登录

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;