linux安装mysql后root无法登录 sql 无法登录
问题:
[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;