ubuntu linode下mysql 问题汇总
(1) 修改配置文件:/etc/mysql/my.cnf
修改行bind-address=[Your_Server_IP]
注释行skip-networking
(2) 重启数据库: /etc/init.d/mysql restart
(3) 这个时候客户端是不能访问远程mysql的,客户端执行:
telnet [Your_Server_IP] 3306
会返回:
F Host '221.182.46.48' is not allowed to connect to this MySQL server
这个221.182.46.48就是你客户端的外网IP,记住它,授权时会用到。
(4) 授权myuser/mypwd从ip为221.182.46.48的主机连接mysql服务器:
在mysql的命令行输入:
GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'221.182.46.48' IDENTIFIED BY 'mypwd' WITH GRANT OPTION;
(5) 如果将 '221.182.46.48'换成’%’,则所有的远程机器都可以访问你的数据库
2. Tomcat访问数据库权限问题:
如果是用apt-get install 安装的tomcat,则系统会为tomcat创建一个用户(/etc/passwd),然后用这个用户来启动tomcat,默认情况下这个用户是不能访问数据库的,这里提供2种方式让tomcat可以访问数据库
方式1:修改tomcat启动文件,/etc/init.d/tomcat6,让tomcat以root用户身份启动,将
TOMCAT6_USER=tomcat6
TOMCAT6_GROUP=tomcat6
修改成:
TOMCAT6_USER=root
TOMCAT6_GROUP=root
方式2:修改tomcat策略文件:/etc/tomcat6/policy.d/04webapps.policy。
增加:
permission java.security.AllPermission;
};