原文在我自己的博客里,小伙伴们也可以点击阅读原文跳转查看,还有好听的背景音乐~我写过两篇关于ubuntu系统之前搭建php环境文章Linux服务器域名绑定到指定目录(ubuntu下apache2绑定多个域名)ubuntu一键安装LAMP环境。在后面的实践中,我发现有些东西没有提到。这里我会补充后面遇到的问题和方法。看一看,作为ubuntu下搭建lamp环境的完整总结。一键安装lamp这里就不介绍了。在我之前的文章Ubuntu一键安装LAMP环境中也有讲解。两个简单的命令就可以打造一盏好灯;(博主在搭建php环境的时候,比较倾向于使用一键安装这种偷懒的方式来搭建(除非场景是每个软件都要单独下载安装,才会一个一个安装),相比之下apache、mysql、php程序一个一个安装,这样效率更高,速度更快,而且配置简单,也可以避免不必要的麻烦)配置数据库远程访问安装好lamp环境之后,下一步就是配置我们的远程mysql用户。这个非常有用,因为在日常的数据库操作中,相比phpmyadmin,我个人更喜欢使用工具来操作数据库。推荐一款友好易用的数据库工具navicatformysql。我从工作开始就一直在使用这个mysql工具进行数据库操作,大大提高了工作效率。言归正传,在一键安装程序中,安装到mysql时,会提示设置Aroot密码。安装完成后,在ubuntu命令行(以下简称命令行)访问mysqlmysql-uroot-p,然后输入密码进入mysql,选择数据库:使用mysql创建用户命令:CREATEUSER'用户名'@'主机'由'密码'标识;示例:创建用户'test'@'localhost'由'test2017666'标识;创建用户'ycfw'@'%'由'ycfw2017666'标识;创建用户'zdip'@'118.119.120.110'由'zdip201766'标识;参数:username:mysqluserpasswordhost:指定用户可以访问数据库的主机(localhost指定只能在本地访问数据库,%表示远程访问,可以在任何地方访问,也可以指定一个ip访问,例如3)密码访问密码用户授权命令:GRANTprivilegesONdatabasename.tablenameTO'username'@'host';示例:GRANTallON*.*TO'test'@'test2017666';(拥有所有数据库的所有操作权限)GRANTallONtest.*TO'test'@'test2017666';(拥有test库所有表操作权限)GRANTselectONtest.testTO'test'@'test2017666';(拥有test数据库的test表的所有查询权限)......参数:privileges:对数据库的操作权限,可以是insert,select,update,delete;all表示授予所有操作权限databasenameandtablename:数据库和数据库名,这里指定可以操作的数据库和数据表,可以单独指定一个数据库或数据表,所有数据库都可以操作Setting*.*'username'@'host':设置授权用户和主机后,执行flushprivileges刷新mysql权限表。这时候,你可以使用新创建的远程用户尝试连接数据库。如果连接建立,那么数据库远程用户的配置就完成了。如果链接不上,继续往下看,修改mysql的配置项;查看授权信息命令:showgrantsfortest@localhostmodifymy.cnf如果你新建了一个远程用户,通过查看授权信息命令知道新建的远程用户没有权限有问题时,链接仍然不可用。那么可能还需要再做一步修改my.cnf文件中的bind-address参数。my.con文件在mysq目录/etc/mysql/中。进入目录后,找到mysql配置文件中的bind-address。原来是bind-address=127.0.0.1,改为bind-address=0.0.0.0(PS:1.由于ubuntu版本不同,安装的mysql版本可能不同,所以找相关的mysql配置文件即可并修改(相关参考文章后面贴在文末,那里的描述更详细);2.bind-address表示绑定地址,原来的绑定地址127.0.0.1只能访问locally.如果改成0.0.0.0,任意ip都可以访问。)通过以上配置点,远程mysql用户应该可以访问了。域名绑定域名配置这里不再是域名提供商解析域名为ip的操作,只说apache2中的域名配置。关于apache2的域名绑定。apache2绑定多个域名)基本上介绍的很清楚了,后来发现配置域名的配置文件不需要这么长,只要下面这么一小段就可以了:
