频道栏目
首页 > 资讯 > 浏览器 > 正文

LNMP环境搭建——MySQL篇

15-06-30        来源:[db:作者]  
收藏   我要投稿

1.Install MySQL

root@kallen:~# apt-get install mysql-server-5.5 mysql-client-5.5

2.Add Users

(1) 选择数据表
语句如下:use mysql;
(2) 在mysql的user表中增加连接用户帐号:
这里不要直接使用INSERT语句添加user记录,使用INSERT可能出现错误:

ERROR 1364 (HY000): Field ‘ssl_cipher’ doesn’t have a default value

不过早期的MYSQL版本倒没出现这个错误,因为一直都是直接修改user表或直接使用INSERT语句完成,后来升级MYSQL到5.1的时候,发现可能会出现这个错误。
建议使用GRANT语句进行授权,语句如下:

GRANT USAGE ON *.* TO 'username'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION;

上句:

“username”替换为将要授权的用户名,比如clientusr;
“password”替换为clientusr设置的密码;

(3) 可访问数据表授权

创建好帐户之后,就开始给上面的common user进行数据表授权,步骤3中增加的连接用户默认权限都是“N”的,必须在db表中为该帐户授权,允许其访问专用数据库,当然超级用户就不说了。

使用下面语句:

GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP ON tablename.*  TO 'username'@'localhost' IDENTIFIED BY 'password';

本语句中的权限根据实际需要确定:

“tablename”替换为授权访问的数据表table名
“username” 是步骤2授权用户名
“password” 是步骤2授权用户的设置密码

这样就为该用户授予了对某数据表的SELECT, INSERT, UPDATE, DELETE, CAREATE, DROP权限。

(4) 生效授权,创建完毕

一句话即可:FLUSH PRIVILEGES;

3.Install phpmyadmin

用随便一个支持PHP的web服务器(如Apache、Nginx、Lighttpd),下载phpmyadmin,装之。

sudo apt-get install phpmyadmin   #注意这是安装到/usr/share/phpmyadmin

在ubuntu下,sudo apt-getinstall phpmyadmin后会有一些设置,如选择服务器、密码设定等等内容。安装完成后,访问http://localhost/phpmyadmin会出现404错误,这是因为没有将phpmyadmin目录映射到apache目录下面,运行下面命令即可:

sudo ln -s /usr/share/phpmyadmin /var/www/html

[常见错误]

(1) 安装错误:

Error: Package: php54w-tidy-5.4.41-1.w6.x86_64 (webtatic)

 Requires: libtidy-0.99.so.0()(64bit)

 You could try using --skip-broken to work around the problem

 You could try running: rpm -Va --nofiles --nodigest 

需要安装libtidy-0.99.so:

[root@amtt02 html]# rpm -ivh libtidy-0.99.0-19.20070615.1.el6.x86_64.rpm

(2) 访问错误:
在http.conf文件中加入:

 

AllowOverride None 

Order allow,deny 

Allow from all 

 
service httpd restart 

之后,就能成功启动httpd服务了,问题解决。

访问phpMyAdmin提示:

配置文件权限错误,无法写入!

解决办法:

chmod -R 755 ./phpmyadmin

这样设置下phpMyAdmin目录权限属性为755就可以访问了。原来phpMyAdmin必须在755权限下才可以运行。

注意:在777下也是错误的,估计是phpMyAdmim为安全着想。

4.Can’t connect to MySQL server on ‘localhost’(10038)

查一下你的MYSQL用户表里, 是否允许远程连接

(1)给用户授权

mysql>grant all privileges on *.*to'root'@'%'  identified by 'youpassword'  with grant option;
mysql>flush privileges;

(2)修改/etc/mysql/my.conf

找到bind-address =127.0.0.1这一行
改为bind-address =0.0.0.0 即可

root@kallen:/etc/selinux# vim /etc/mysql/
# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
# bind-address = 127.0.0.1
# Remote Access to MySQL on port 3306
# Kallen Ding, Jun 11 2015
bind-address = 0.0.0.0
相关TAG标签
上一篇:七个技巧!域名安全指数提高N倍
下一篇:MySQL的事务陷阱和艺术
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站