介绍如何在CentOs6.2下面使用YUM配置安装LAMP环境,一些兄弟也很喜欢使用编译的安装方法,个人觉得如果不是对服务器做定制,用yum安装稳定简单,何必去download&make&make install呢。

Step1. 为centos配置rpmforge及epel源。centos官方的源其实也够用,不过像php的一些扩展如php-mcrypt在官方源中并没有。
rpmforge源可以在 http://pkgs.repoforge.org/rpmforge-release/中下载安装,名为rpmforge- release-*.i686.rpm 或 rpmforge-release-*.x86_64.rpm,找最新的版本
epel源可以在http://mirrors.ustc.edu.cn/Fedora/epel/6/ 中找到,32系统在i386文件夹中,64位的在x86_64文件夹中,名为epel-release-6-*.noarch.rpm,找最新的版本

这里以32位系统为例子
#如果提示The requested URL returned error: 404,请自行换成最新的版本
rpm -ivh http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.i686.rpm
rpm -ivh http://download.Fedoraproject.org/pub/epel/6/i386/epel-release-6-5.noarch.rpm

Step 2. 安装php/mysql/httpd
#安装apache
yum -y install httpd httpd-devel
#安装mysql
yum -y install mysql mysql-devel mysql-server mysql-libs
#安装php
yum -y install php
#安装php扩展
yum -y install php-mysql php-gd php-imap php-ldap php-odbc php-mbstring php-devel php-soap php-cli php-pdo
yum -y install php-mcrypt php-tidy php-xml php-xmlrpc php-pear
#其它不常用php扩展, www.linuxidc.com 可不用安装
yum -y install php-pecl-memcache php-eaccelerator
#安装phpmyadmin
yum -y install phpmyadmin
#安装完成之后,启动
service httpd start
service mysqld start

Step 3.配置httpd、mysqld开机自启动
chkconfig mysqld on
chkconfig httpd on

Step 4.配置phpmyadmin
修改/usr/share/phpmyadmin/config.inc.php
#将这里abcde文字修改为自己的字符,可任意
$cfg['blowfish_secret'] = 'abcde';

常见问题
1. phpmyadmin提示未开启php-mcrypt,这是因为没有安装php-mrcrpt扩展。在官方源没有php-mrcrpt扩展,请安装epel源后再yum install php-mcrypt

2. phpmyadmin无法访问

phpmyadmin默认只能使用http://localhost/phpmyadmin来访问,可以修改/etc/httpd/conf.d/phpmyadmin.conf中对应部分为
<Directory "/usr/share/phpmyadmin">
Order Deny,Allow
# Deny from all
Allow from All
</Directory>
不过强烈不支持这么做的,把phpmyadmin暴露了不安全

注意:
apache解析php,修改/etc/httpd/conf/httpd.conf文件,添加
Addtype application/x-httpd-php .php .phtml
Addtype application/x-httpd-php-source .phps

myql可以远程登录
设置mysql密码
mysql>; USE mysql;
mysql>; UPDATE user SET Password=PASSWORD('newpassword') WHERE user='root';
mysql>; FLUSH PRIVILEGES;
允许远程登录
mysql -u root -p
Enter Password: <your new password>
mysql>GRANT ALL PRIVILEGES ON *.* TO '用户名'@'%' IDENTIFIED BY '密码' WITH GRANT OPTION;
%为服务ip地址。完成后就能用mysql-front远程管理mysql了。
设为开机启动:

chkconfig mysqld on

改变phpMyAdmin的认证方式,从cookie改成http:

vi /usr/share/phpmyadmin/config.inc.php

$cfg['Servers'][$i]['auth_type'] = ‘http’;

mysql8.0.1/mysql5.7.22+centos7

到mysql官网下载mysql编译好的二进制安装包mysql-8.0.11-el7-x86_64.tar.gz或者mysql-5.7.22-el7-x86_64.tar.gz: 
https://dev.mysql.com/downloads/mysql/
执行命令:cp mysql-5.6.17-linux-glibc2.5-i686 /usr/local/mysql -r
添加系统mysql组和mysql用户:执行命令:groupadd mysql和useradd -r -g mysql mysql
修改当前目录拥有者为mysql用户:执行命令 chown -R mysql:mysql /usr/local/mysql

一、初始化
两人个目录:
[op@bogon mysql]$ sudo ./bin/mysqld --initialize --datadir=/home/common/mysql_data --basedir=/usr/local/mysql --user=mysql
2017-05-22T08:30:22.883996Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2017-05-22T08:30:29.067756Z 1 [Warning] InnoDB: New log files created, LSN=49311
2017-05-22T08:30:29.646311Z 1 [Warning] InnoDB: Creating foreign key constraint system tables.
2017-05-22T08:30:51.896704Z 0 [Warning] No existing UUID has been found, so we assume that this is the first time that this server has been started. Generating a new UUID: f72682a6-3ec8-11e7-b3cc-60029262302a.
2017-05-22T08:30:52.046511Z 0 [Warning] Gtid table is not ready to be used. Table 'mysql.gtid_executed' cannot be opened.
2017-05-22T08:30:52.175803Z 4 [Note] A temporary password is generated for root@localhost: krETk&zlR0!y

确定配置文件中以下内容是否为你的mysql安装的路径:
pid-file 
user
socket
port 
basedir
datadir

Could not create unix socket lock file /var/run/mysql/mysql.sock.lock。这种错误一般都是目录不存在或者权限不足,所以我们直接使用命令 mkdir -p /var/log/mysql/ 创建该目录即可,然后可以设置目录权限 chown -R mysql:mysql /var/log/mysql/ 。

my.cnf中目录结尾不要加/

二、启动mysql实例
初始化完成后,就开始准备启动,启动还保持着原来的方式,可以使用mysqld_safe启动,所以参数基本差不多。
sudo ./bin/mysqld_safe --basedir=/usr/local/mysql/ --datadir=/home/common/mysql_data/ --user=mysql

然后命令:/usr/local/mysql/support-files/mysql.server start,启动mysql数据库。

最后修改root密码:

# mysql -u root -p ---连接mysql,输入初始化时生成的密码

mysql> alter user root@localhost identified by 'password';

启动时指定mysql.sock是不是在那个位置,
/usr/local/mysql/bin/mysql -uroot -p -S /var/lib/mysql/mysql.sock

提示这个错误,表示没设置client的mysql.sock:
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock
在my.cnf添加以下两行:
[client] 
socket=/var/lib/mysql/mysql.sock

grant all privileges on *.* to username@"%" identified by 'password' with grant option;
FLUSH PRIVILEGES;

打开3306端口:
firewall-cmd --zone=public --list-ports
firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --reload

13.设置开机自启

以后可以使用service命令控制mysql的启动和停止,命令为:service mysqld start和service mysqld stop,有可能执行的时候会报错,如下图

这是因为mysql默认安装在/usr/local目录下,如果安装在/usr/local目录下则会正常启动和关闭,不会报错。但是本次安装在自定义的/data目录下,此时需要修改/etc/init.d/mysqld文件,保存后退出

然后在执行service mysqld start启动命令,OK

再执行service mysqld stop关闭命令,OK

14.配置全局环境变量

编辑/etc/profile文件

# vi /etc/profile

在profile文件底部添加如下两行配置,保存后退出

PATH=/data/mysql/bin:/data/mysql/lib:$PATH

export PATH

设置环境变量立即生效

# source /etc/profile

15.设置远程主机登录

远程登录失败

查看3306端口是否已开放

# netstat -nupl|grep 3306

开放3306端口并重启防火墙

再次远程登录,成功

出错一:ERROR 1862 (HY000): Your password has expired. To log in you must change

解决方法:

1、 用忽略授权表的方法进入mysql

1
2
3
4
        vi /etc/my.cnf
      [mysqld]
      skip-grant-tables
      :wq! #保存退出

2、进入mysql,查看root用户的详细信息

1
2
3
        # mysql -u root -p
        > use mysql
        select from mysql.user where user='root' \G
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
*************************** 1. row ***************************
                  Host: localhost
                  User: root
           Select_priv: Y
           Insert_priv: Y
           Update_priv: Y
           Delete_priv: Y
           Create_priv: Y
             Drop_priv: Y
           Reload_priv: Y
         Shutdown_priv: Y
          Process_priv: Y
             File_priv: Y
            Grant_priv: Y
       References_priv: Y
            Index_priv: Y
            Alter_priv: Y
          Show_db_priv: Y
            Super_priv: Y
 Create_tmp_table_priv: Y
      Lock_tables_priv: Y
          Execute_priv: Y
       Repl_slave_priv: Y
      Repl_client_priv: Y
      Create_view_priv: Y
        Show_view_priv: Y
   Create_routine_priv: Y
    Alter_routine_priv: Y
      Create_user_priv: Y
            Event_priv: Y
          Trigger_priv: Y
Create_tablespace_priv: Y
              ssl_type:
            ssl_cipher:
           x509_issuer:
          x509_subject:
         max_questions: 0
           max_updates: 0
       max_connections: 0
  max_user_connections: 0
                plugin: mysql_native_password
 authentication_string: *AC241830FFDDC8943AB31CBD47D758E79F7953EA
      password_expired: N
 password_last_changed: 2015-11-11 16:52:49
     password_lifetime: NULL
        account_locked: N
1 row in set (0.00 sec)

3、把password_expired 改成不过期

1
2
3
        >  update user set password_expired='N' where user='root';
        > flush privileges;
        > quit

4、把 /etc/my.cnf 的 skip-grant-tables 这行注释掉

5、重启服务

1
     #service mysql restart

6、再次登陆 mysql 就正常了

或者:

./mysqladmin -uroot -p password
Enter password:   //这里输入上面的v:gNXSw5FTkw
New password:    //重新输入新密码
Confirm new password: //重新输入新密码

出错二:

mysqld_safe启动报错 mysqld_safe The file /usr/local/mysql/bin/mysqld does not exist or is not executable

报错(如下),但是使用mysqld直接启动没有问题。

  1. 150718 00:03:38 mysqld_safe Logging to '/var/log/mysqld.log'.
  2. 150718 00:03:38 mysqld_safe The file /usr/local/mysql/bin/mysqld
  3. does not exist or is not executable. Please cd to the mysql installation
  4. directory and restart this script from there as follows:
  5. ./bin/mysqld_safe&
  6. See http://dev.mysql.com/doc/mysql/en/mysqld-safe.html for more information
  7. [1]+  Exit 1                  mysqld_safe --skip-grant-tables --user=mysql

说明:mysqld_safe启动脚本默认的从/usr/local/mysql目录中读取另外一个启动脚本mysqld,因为我的安装目录为/home/mysql/product/5.6/mysql-1。所以找不到相关文件。可以从两个方面解决。

方法一:在/usr/local/mysql创建链接文件

  1. mkdir -p /usr/local/mysql/bin
  2. ln -s /home/mysql/product/5.6/mysql-1/bin/mysqld /usr/local/mysql/bin/mysqld

方法二:将mysqld_safe中的所有/usr/local/mysql目录改为自己实际的安装目录

  1. <pre name="code" class="sql">sed -i 's#/usr/local/mysql#/home/mysql/product/5.6/mysql-1#g' /home/mysql/product/5.6/mysql-1/bin/mysqld_safe

出错三:在ubuntu上安装mysql5.6版本后,执行/usr/local/mysql/bin/mysqld_safe ,运行mysql提示如下信息:

[error] Can’t find messagefile ‘/usr/share/mysql/errmsg.sys’ 

将share/english/errmsg.sys 拷贝到 /usr/share/mysql/下。 
sudo cp /usr/local/mysql/share/english/errmsg.sys /usr/share/mysql/

重新执行即可。

windows mysql安装、配置

一、MySQL的下载:

上图中,我们选择红框部分的社区版本进行下载,MySQL支持许多平台:

我的操作系统是64位的,选择对应版本MSI版下载,弹出login界面, 选择no thanks,just start my download直接下载即可:

二、MySQL的安装:

软件下载完成后,就开始安装吧。

上图中,建议选择第二项的Custom,自定义安装。弹出如下界面:

三、MySQL的配置:

上图的解释:今后在Java开发中,要对这个服务器进行访问,就要涉及到通信的协议,这里使用TCP/IP协议,此时就涉及到了端口,MySQL默认的端口号为3306,使用默认的即可。继续下一步:

上图中,是选择数据库的编码。第一种是拉丁文,只支持英文,不支持中文;第二种貌似是和日语有关的。这里我们选择第三种:自定义。然后将编码方式设置为:utf-8。下一步:

上图中,我们勾选“路径添加到环境变量”,然后继续:

上图中,是给root用户设置密码。这里,我将密码设置为smyh。另外,勾选“允许用户远程(网路)访问”,否则只能在本地访问,继续:

上面的勾会自动打的:

上图中,可以看到,我们的配置被写在了my.ini这个文件中了。

点击finish,完成安装。我们再到对应目录下看一下my.ini文件的内容:

 

同时,我们在开始菜单的程序中也能看到已经安装好的程序了:

点击它,开始运行:

打开”计算机管理“可以看到MySQL的服务已启动:

同时在进程中也可以看到:

四、MySQL的卸载:

1、到控制面板里面先把mysql软件删除;

2、删除mysql的安装目录(如果在其他盘还有设置目录也要删除,空目录也要删除);

3、删除注册表中的以下文件:(按"Win+R"键,输入regedit,进入注册表):

  • HKEY_LOCAL_MACHINE/SYSTEM/ControlSet001/Services/Eventlog/Applications/MySQL
  • HKEY_LOCAL_MACHINE/SYSTEM/ControlSet002/Services/Eventlog/Applications/MySQL
  • HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/Eventlog/Applications/MySQL

有的话全部删除(技巧:用F3循环查找“mysql”);

4、如果是windows 7 系统,还需要找到C:\ProgramData\MYSQL将其删除;如果是XP系统,删除找到C:\Documents and Settings\All Users\Application Data\MYSQL

完成后即可再次安装,不需要重启系统。

CentOS 6.5系统使用yum方式安装LAMP环境和phpMyAdmin,mysql8.0.1/mysql5.7.22+centos7,windows mysql安装、配置的更多相关文章

  1. CentOS 6.5系统使用yum方式安装LAMP环境和phpMyAdmin详细过程

    介绍如何在CentOs6.2下面使用YUM配置安装LAMP环境,一些兄弟也很喜欢使用编译的安装方法,个人觉得如果不是对服务器做定制,用yum安装稳定简单,何必去download&make&am ...

  2. 将php网站移到CentOS 6.7上[一]:yum安装lamp环境

    最近应老师要求,将一个网站从51php上转移到学校提供的服务器上,之前对Linux没有了解,一切都在百度百度百度.于是发现很多步骤自己做过后就忘了,现将有效步骤记录下来,以供下次参考. 原51php上 ...

  3. CentOS使用yum源中自带的rpm包安装LAMP环境

    CentOS使用yum源中自带的rpm包安装LAMP环境.这是Linux下安装LAMP的环境一种最基本最简便的方式.新手可以从容安装使用. 1. 安装基础包(可选安装)yum install -y w ...

  4. centos 安装卸载软件命令 & yum安装LAMP环境

    安装一个软件时 yum -y install httpd 安装多个相类似的软件时 yum -y install httpd* 安装多个非类似软件时 yum -y install httpd php p ...

  5. CentOS 7.4 yum安装LAMP环境

    配置防火墙,开启80.3306端口.CentOS 7.0默认使用的是firewall作为防火墙,这里改为iptables防火墙. #停止firewall服务 systemctl stop firewa ...

  6. yum安装LAMP环境与管理(七)

    [教程主题]:yum安装LAMP环境与管理 [1] 什么是LAMP 目前世界最流行的企业建站方式是LAMP(Linux+Apache+MySQL+PHP),即使用Linux作为操作系统,Apache作 ...

  7. 一键安装lamp环境 centos

    linux centos yum安装LAMP环境 /*************链接**************/http://www.cnblogs.com/suger/p/3832093.html ...

  8. 使用ansible 完成yum安装lamp环境

    使用ansible 完成yum安装lamp环境 [root@node2 ~]# cd /etc/ansible/playbook/[root@node2 playbook]# lslamp[root@ ...

  9. CentOS 下源码安装LAMP环境

    一.简介 什么是LAMP    LAMP是一种Web网络应用和开发环境,是Linux, Apache, MySQL, Php/Perl的缩写,每一个字母代表了一个组件,每个组件就其本身而言都是在它所代 ...

随机推荐

  1. maven配置生成可执行的jar:maven-shade-plugin

    默认打包生成的jar是不能直接运行的,因为带有main方法的信息不会添加到mainifest中,需要借助maven-shade-plugin <project> ... <build ...

  2. 20.AutoMapper 之理解你的映射(Understanding Your Mappings)

    https://www.jianshu.com/p/4f5c14fbf1c2 理解你的映射(Understanding Your Mappings) AutoMapper 为你的映射创建执行计划.在调 ...

  3. eclipse控制台输出太多被顶掉问题

    控制台空白处右键 属性

  4. SVM支持向量机(2)

    零.各种概念 1.硬间隔最大化   2.硬间隔支持向量机 3.线性支持向量机 软间隔最大化 软间隔支持向量机 4.非线性支持向量机 核函数kernel function 一.理解支持向量机SVM的原理 ...

  5. CDH配置YARN动态资源分配

    场景:根据不同项目或不同用户,对yarn资源队列进行划分,达到资源管控,任务管控的目的 yarn资源队列参数设置 当设置为 true 时,如果未指定池名称,Fair Scheduler 将会使用用户名 ...

  6. ES的索引、type、document、filer、mapping、id

    一.ES的存储结构 1.索引 es 中存储数据的基本单位,比如说你现在要在 es 中存储一些订单数据,你就应该在 es 中创建一个索引 order_idx,所有的订单数据就都写到这个索引里面去.看了一 ...

  7. help_topic表,以字符拆分,一行转多行

      help_topic表是数据库mysql下的一个表        SUBSTRING_INDEX(s, delimiter, number)        返回从字符串 s 的第 number 个 ...

  8. Python3 A*寻路算法实现

    # -*- coding: utf-8 -*- import math import random import copy import time import sys import tkinter ...

  9. 单点登录之ajax跨域实现

    需求:相同根域名或不同根域名的两个域名,实现单点登录登出 原理: 以b站为例,b站的账号登录域名为passport.bilibili.com.主站为www.bilibili.com,游戏站为www.b ...

  10. HashMap的相关面试题

    HashMap的工作原理是近年来常见的Java面试题.几乎每个Java程序员都知道HashMap,都知道哪里要用HashMap,知道Hashtable和HashMap之间的区别,那么为何这道面试题如此 ...