Linux下的Mysql初步认实和搭建LAMP环境

Linux下的Mysql初步认实和搭建LAMP环境

 

实验目标

Mysql服务器常见概念

Mysql服务器安装及相关配置文件

实战:安装mysql数据库并去除安全隐患

实战:搭建LAMP环境部署Ucenter和Ucenter-home网站

 

实验概述

MySQL服务概述:

MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle公司。

MySQL是最流行的关系型数据库管理系统,在WEB应用方面MySQL是最好的RDBMS(Relational DatabaseManagement System:关系数据库管理系统)应用软件之一。

MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。

MySQL所使用的SQL语言是用于访问数据库的最常用标准化语言。MySQL软件采用了双授权政策,它分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择MySQL作为网站数据库。由于其社区版的性能卓越,搭配PHP和Apache可组成良好的开发环境。

双授权政策:开放源代码版本和商业版本。

例如:很多公司出售应用软件,例如Microsoft、Apple和Oracle;

如RedHat和IBM,则通过为其开放源代码软件提供销售支援、托管或咨询等服务来进行赚钱。但鲜为人知的是,企业可以透过开放源代码发布他们的软件,也可以同时销售该软件的商业版本。

官方网站:

http://www.mysql.com/

http://dev.mysql.com/downloads/mysql/

LAMP架构:

Linux+Apache+Mysql+PHP

模式:

C/S模式mysql

实验环境

1:关闭selinux

vim/etc/selinux/config,把enforcing改为disabled

2:关闭防火墙

service iptables stop

chkconfig iptablesoff

3:客户机

服务端:xuegod63.cn   IP:192.168.1.63

客户端:xuegod64.cn   IP:192.168.1.64

实验步骤

1:安装数据库相关软件

[[email protected] ~]#yum install httpd mysql-server mysql php php-mysql  -y

2:启动服务LAMP相关服务:

[[email protected]~]# /etc/init.d/httpd restart

[[email protected]~]# chkconfig httpd on  #开机启动

[[email protected]~]# chkconfig httpd –list  #确认服务是否开机自启动

httpd              0:关闭      1:关闭      2:启用      3:启用      4:启用      5:启用      6:关闭

[[email protected]~]# /etc/init.d/mysqld start

/usr/bin/mysqladmin-u root password ‘new-password‘     #在mysql中,root用户是超级管理员帐号, 拥有最高的权限。这里是给root设置一个密码的语法

Alternatively you canrun:

/usr/bin/mysql_secure_installation  #此脚本的执行会加强mysql数据库安全。

[[email protected]~]# chkconfig mysqld on

[[email protected]~]# chkconfig mysqld --list

mysqld            0:关闭      1:关闭      2:启用      3:启用      4:启用      5:启用      6:关闭

#这里启动了LAMP相关服务,并测试查看相关服务是否开机自启动,我们可以看到2 3 4 5 是开启的,那么机器开机运行时就会自动修改2 3 4 5相关配置文件,这也就使其相关服务开机自启动了。

 

 

3:查看相关软件的版本

[[email protected]~]# httpd -v

Serverversion: Apache/2.2.15 (Unix)

Serverbuilt:   Aug  2 2013 08:02:11

[[email protected]~]# mysql -V

mysql  Ver 14.14 Distrib 5.1.71, forredhat-linux-gnu (i686) using readline 5.1

4查看php-mysql包作用:

[email protected]]# rpm -pqi php-mysql-5.3.3-3.el6_1.3.x86_64.rpm

warning:php-mysql-5.3.3-3.el6_1.3.x86_64.rpm: Header V3 RSA/SHA256 Signature, key IDfd431d51: NOKEY

Name        : php-mysql                    Relocations: (notrelocatable)

Version     : 5.3.3                             Vendor: Red Hat,Inc.

Release     : 3.el6_1.3                     Build Date: Mon 24 Oct2011 08:41:54 PM CST

Install Date: (notinstalled)               Build Host:x86-004.build.bos.redhat.com

Group       : Development/Languages         Source RPM:php-5.3.3-3.el6_1.3.src.rpm

Size        : 220619                           License: PHP

Signature   : RSA/8, Wed 02 Nov 2011 09:58:41 PM CST,Key ID 199e2f91fd431d51

Packager    : Red Hat, Inc.<http://bugzilla.redhat.com/bugzilla>

URL         : http://www.php.net/

Summary     : A module for PHP applications that use MySQL databases  #php程序连接mysql使用的模块

 

5:测试数据库连接

1):数据登录方式

连接mysql数据库,连接本机可以去掉-h

[[email protected] ~]#mysql

或:

[[email protected] ~]#mysql-h IP -u USER -pPASS

#mysql的超级管理员是root拥有最mysql数据库的最高权限。

例:

# mysql -u root

mysql> exit;    #退出mysql  ,mysql每条命令后都加一个分号 ; 结束。

 

2):测试

 

这样是可以直接登录的

 

6:配置root密码

[[email protected]~]#  /usr/bin/mysqladmin -u root password"123456"

#这里是在上文中的mysqld启动的时候,出现的信息,修改mysql用户的密码。

:1):再次直接登录

#这个时候的登录,我们可以看到是的登录不进去的,出现了root用户受限,并且没有使用密码

2):加密码登录

#这个时候我们看到了这样的时候我们是可以登录的

 

或者这样登录mysql

[[email protected] ~]# mysql -u root -p123456

 

思考

下述登录mysql数据库的两种方法哪种比较好。

[[email protected] ~]# mysql -u root -p123456

[[email protected] ~]# mysql -u root -p

Enter password:123456

 

解:

[[email protected] ~]# history

 213  mysql -u root -p

 214  mysql

 215  mysql -u root -p123456

 216  history

#在查询命令历史记录中,我们可以看到,这里有登录mysql数据库的用户root密码,这样就构成数据库的安全威胁,数据库作为系统中最重要的地方之一,因此我们要必须保持数据库的安全。

 

 

 

6:去除数据库的安全隐患

1):查看数据库的用户信息

#在这里我们可以看到,localhost xuegod63和127.都是root用户,并且当地用户是具有密码的,这三个用户是可以登录mysql数据库的,并且后面两个是密码为空,那么在最后面的两个匿名用户呢,不仅不是root用户,而且密码为空都可以登录到数据库,这样就构成了极大的数据库安全威胁,

2):去除数据库安全隐患

[[email protected]~]#/usr/bin/mysql_secure_installation

NOTE: RUNNING ALLPARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MySQL

SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!

#注意:运行此脚本的所有部件被推荐用于所有的在生产中使用的MySQL服务器!请仔细阅读每一步都小心翼翼!

In order to log intoMySQL to secure it, we‘ll need the current

password for the rootuser.  If you‘ve just installed MySQL,and

you haven‘t set theroot password yet, the password will be blank,

so you should justpress enter here.

#为了登录到MySQL来保护它,我们需要的为当前root帐号配置个密码。如果您刚刚安装了MySQL,并您没有设置root的密码呢,密码将会是空白,所以你应该只按这里进入。

Enter currentpassword for root (enter for none): 123456  #给mysqlroot用户设置密码

OK, successfully usedpassword, moving on...

You already have aroot password set, so you can safely answer ‘n‘.

#你已经有一个root密码设置,这样你就可以放心地回答‘N‘。

Change the rootpassword? [Y/n] n

By default, a MySQLinstallation has an anonymous user, allowing anyone

to log into MySQLwithout having to have a user account created for

them.  This is intended only for testing, and tomake the installation

go a bitsmoother.  You should remove them beforemoving into a

productionenvironment.

#缺省情况下,MySQL安装有一个匿名用户,允许任何人

登录到MySQL,而不必对创建用户帐户

他们。这仅用于测试,并且使安装

走位更顺畅。你应该移动到之前删除它们

生产环境。

Remove anonymoususers? [Y/n] Y

... Success!

Normally, root shouldonly be allowed to connect from ‘localhost‘. This

ensures that someonecannot guess at the root password from the network.

#通常情况下,根应该只允许从‘localhost‘的连接。这

确保其他人无法从网络上猜测root密码。

Disallow root loginremotely? [Y/n] Y

... Success!

By default, MySQL comeswith a database named ‘test‘ that anyone can

access.  This is also intended only for testing, andshould be removed

before moving into aproduction environment.

#缺省情况下,MySQL带有一个名为“测试”,任何人都可以数据库

访问。这也是仅用于测试,并应被删除

之前移动到生产环境中。

Remove test databaseand access to it?[Y/n] Y

Reloading theprivilege (授权)tableswill ensure that all changes made so far

will take effectimmediately.

#重新加载授权表将确保所有的更改迄今

将立即生效。

Reload privilegetables now? [Y/n] Y

All done!  If you‘ve completed all of the above steps,your MySQL

installation shouldnow be secure.

#如果你已经完成以上所有步骤后,你的MySQL

安装现在应该是安全的。

Thanks for usingMySQL!

 

 

3):再次查看数据库的用户信息

#这里直接将匿名用户给去除了,并且xuegod63用户也去除,这是不允许远端登录的

 

7:数据库的主配置文件地址

[[email protected] ~]# ls /etc/my.cnf

/etc/my.cnf

 

8:数据库允许1.63登录

[[email protected]~]# mysql -u root -h 192.168.1.63 -p123456

ERROR1130 (HY000): Host ‘192.168.1.63‘ is not allowed to connect to this MySQLserver

[[email protected]~]# mysql -u root  -p123456

9:测试网站是否支持PHP

[[email protected]~]cd /var/www/html/

[[email protected] html]#vim index.php

[[email protected] html]#cat  index.php

<?php

phpinfo();

?>

测试:

这个时候,我们的lamb的环境就搭建好了!!

时间: 2024-12-17 11:56:32

Linux下的Mysql初步认实和搭建LAMP环境的相关文章

Mysql初步认实和搭建LAMP环境部署Ucenter和Ucenter-home网站

目标: 在xuegod63.cn服务器上,使用网站模版UCenter_1.5.0_SC_UTF8.zip和UCenter_Home_2.0_SC_UTF8.zip为公司搭建一个类似人人网的网站.在windows上,使用访问uc.duwers63.cn可以访问UCenter:使用www.duwers63.cn可以访问UCenter_Home. 安装 yum -y install httpd mysql-server mysql phpphp-mysql 软件包解释: httpd #web网站服务器

linux 下安装 mysql 并配置 python 开发环境

1.安装 mysql ,安装过程中将提示设置 root 用户的密码,默认可以设置为 rootadmin . $ sudo apt-get install mysql-server 2.安装 mysql 开发工具(不安装时,安装 MySQL-python 提示错误 "mysql_config not found"). $ sudo apt-get install libmysqld-dev 3.安装 python 的 mysql 库 MySQL-python (首先安装 python-d

linux下修改MySQL root密码后数据库消失

Linux系统下如果没有通过password()函数修改mysql的root密码就会导致mysql数据库消失.有些人可能不知道而直接修改了mysql的root密码,于是产生了mysql数据库消失的问题,这个时候该怎么处理呢? 可以用下面的办法解决: 1.修改mysql数据库目录配置文件:my.cnf(或my.ini) [mysqld]下添加: skip-grant-tables 2.重启mysql服务,然后用mysql 登录. 3.进入后,可以看到,mysql数据库已呈现,然后修改密码: upd

Linux下查看mysql、apache是否安装,安装,卸载等操作

Linux下查看mysql.apache是否安装,并卸载. 指令 ps -ef|grep mysql 得出结果 root     17659     1  0  2011 ?        00:00:00 /bin/sh /usr/bin/mysqld_safe --datadir=/var/lib/mysql --socket=/var/lib/mysql/mysql.sock --log-error=/var/log/mysqld.log --pid-file=/var/run/mysql

远程连接linux下的mysql Err1045 Err2003解决办法

本人linux系统 Centos7 1.Err2003 我个人的情况是因为linux中防火墙开启并阻止了3306这个mysql端口的远程连接 解决办法: CentOS 7.0默认使用的是firewall作为防火墙,现在要将其关闭 systemctl stop firewalld.service #停止firewallsystemctl disable firewalld.service #禁止firewall开机启动firewall-cmd --state #查看默认防火墙状态(关闭后显示not

[Linux基础环境/软件]Linux下安装mysql

我是使用免安装的包mysql-5.5.28-linux2.6-x86_64.tar.gz(在http://dev.mysql.com/downloads/可以下载到最新的包)的.直接解压,然后配置,初始化数据库,启动即可. 安装步骤有: 解压和建立软链: 配置文件和配置参数: 初始化数据库: 启动和关闭: 建立数据库用户和授权. 1. 解压和建立软链: #tar xzvf mysql-5.5.28-linux2.6-x86_64.tar.gz #在/usr/local目录下 #ln -s mys

在Linux下给mysql创建用户并分配权限等问题

在linux系统中安装mysql的步骤 工具: mysql-5.6.17-linux-glibc2.5-i686.tar.gz mysql-5.6.17-linux-glibc2.5-x86_64.tar.gz linux系统64位 方法/步骤 1.到mysql官网下载mysql编译好的二进制安装包. 2.解压安装包: 3.进入安装包所在目录,执行命令:tar -zxvf  mysql-5.6.17-linux-glibc2.5-i686.tar.gz 4.复制解压后的mysql目录到系统的本地

linux下更改MySQL数据库存储路径

原文:http://www.cnit618.com/html/fwdkf/data/2111.htm linux下,MySQL默认的数据文档存储目录为/var/lib/mysql.假如要把MySQL目录移到/home/data下需要进行下面几步: 1.home目录下建立data目录 cd /home mkdir data 2.把MySQL服务进程停掉: mysqladmin -u root -p shutdown 3.把/var/lib/mysql整个目录移到/home/data mv /var

linux 下配置mysql区分大小写(不区分可能出现找不到表的情况)怎么样使用yum来安装mysql

Linux 默认情况下,数据库是区分大小写的:因此,要将mysql设置成不区分大小写 在my.cof 设置 lower_case_table_names=1(1忽略大小写,0区分大小写) 检查方式:在mysql控制台中输入如下命令 show variables like 'lower%'; linux下查找mysql安装路径: whereis mysql yum 安装mysql: linux下使用yum安装mysql,以及启动.登录和远程访问. 1.安装 查看有没有安装过: yum list i