一、背景
前阵子入手了一台云服务器,基本配置如下:
内存:512MB
硬盘:10GB SSD
流量:1000GB/月 本来只是用来做网络流量的,作为一个新手,自然是准备折腾折腾。好吧,装个mysql吧!网上查了下资料:
好!开干。
二、安装
以下是一种方案(新手勿喷~):
通过yum的方式来安装,命令yum list | grep mysql 查看可选列表
1.直入主题吧,先试试安装吧。命令:
yuminstall -y mysql-server mysql mysql-deve 此过程省略~~ 2.查看版本 rpm -qi mysql-server
3.启动mysql service mysqld 4.查看是否开机启动,都是off chkconfig --list |grep mysqld
可以设置开机启动 chkconfig mysqld on
5.设置root密码 mysqladmin -u root password 'root' 设置成功后再次设置就不允许了
三、配置
此配置是为了提供远程客户端访问,开启连接的权限。 默认mysql的用户是没有远程访问的权限的,因此当程序跟数据库不在同一台服务器上时,我们需要开启mysql的远程访问权限。 主流的有两种方法,改表法和授权法,改表法比较容易一点 1、登陆mysql1mysql -u root -p
2、修改mysql库的user表,将host项,从localhost改为%。%这里表示的是允许任意host访问,如果只允许某一个ip访问,则可改为相应的ip
mysql> use mysql;
mysql> update user set host = '%' where user = 'root';
mysql> select host, user from user;
mysql> flush privileges;
防火墙开放3306端口 1、打开防火墙配置文件1vi /etc/sysconfig/iptables
2、增加下面一行1-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
3、重启防火墙1service iptables restart
[page]
四、ERROR 1044 (42000): Access denied for user ''@'localhost' to database 'mysql'
jiji~~刚得瑟没久就遇到了问题。
错误提示,理解起来是空用户登录,查下解决方案。果然,强大的搜索引擎!
发现是因为mysql数据库的user表里,存在用户名为空的账户即匿名账户,导致登录的时候是虽然用的是root,但实际是匿名登录的,通过错误提示里的''@'localhost'可以看出来
然后我启动了个navicat吧那几个匿名用户删了,然后。然后可以了。顺利访问。。
五、总结
这个故事告诉我们,就算环境再差,也要不失一颗爱折腾要折腾想折腾的心呐~