CentOS 6.5系统使用yum方式安装LAMP环境和phpMyAdmin,mysql8.0.1/mysql5.7.22+centos7,windows mysql安装、配置
介绍如何在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直接启动没有问题。
- 150718 00:03:38 mysqld_safe Logging to '/var/log/mysqld.log'.
- 150718 00:03:38 mysqld_safe The file /usr/local/mysql/bin/mysqld
- does not exist or is not executable. Please cd to the mysql installation
- directory and restart this script from there as follows:
- ./bin/mysqld_safe&
- See http://dev.mysql.com/doc/mysql/en/mysqld-safe.html for more information
- [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创建链接文件
- mkdir -p /usr/local/mysql/bin
- ln -s /home/mysql/product/5.6/mysql-1/bin/mysqld /usr/local/mysql/bin/mysqld
方法二:将mysqld_safe中的所有/usr/local/mysql目录改为自己实际的安装目录
- <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安装、配置的更多相关文章
- CentOS 6.5系统使用yum方式安装LAMP环境和phpMyAdmin详细过程
介绍如何在CentOs6.2下面使用YUM配置安装LAMP环境,一些兄弟也很喜欢使用编译的安装方法,个人觉得如果不是对服务器做定制,用yum安装稳定简单,何必去download&make&am ...
- 将php网站移到CentOS 6.7上[一]:yum安装lamp环境
最近应老师要求,将一个网站从51php上转移到学校提供的服务器上,之前对Linux没有了解,一切都在百度百度百度.于是发现很多步骤自己做过后就忘了,现将有效步骤记录下来,以供下次参考. 原51php上 ...
- CentOS使用yum源中自带的rpm包安装LAMP环境
CentOS使用yum源中自带的rpm包安装LAMP环境.这是Linux下安装LAMP的环境一种最基本最简便的方式.新手可以从容安装使用. 1. 安装基础包(可选安装)yum install -y w ...
- centos 安装卸载软件命令 & yum安装LAMP环境
安装一个软件时 yum -y install httpd 安装多个相类似的软件时 yum -y install httpd* 安装多个非类似软件时 yum -y install httpd php p ...
- CentOS 7.4 yum安装LAMP环境
配置防火墙,开启80.3306端口.CentOS 7.0默认使用的是firewall作为防火墙,这里改为iptables防火墙. #停止firewall服务 systemctl stop firewa ...
- yum安装LAMP环境与管理(七)
[教程主题]:yum安装LAMP环境与管理 [1] 什么是LAMP 目前世界最流行的企业建站方式是LAMP(Linux+Apache+MySQL+PHP),即使用Linux作为操作系统,Apache作 ...
- 一键安装lamp环境 centos
linux centos yum安装LAMP环境 /*************链接**************/http://www.cnblogs.com/suger/p/3832093.html ...
- 使用ansible 完成yum安装lamp环境
使用ansible 完成yum安装lamp环境 [root@node2 ~]# cd /etc/ansible/playbook/[root@node2 playbook]# lslamp[root@ ...
- CentOS 下源码安装LAMP环境
一.简介 什么是LAMP LAMP是一种Web网络应用和开发环境,是Linux, Apache, MySQL, Php/Perl的缩写,每一个字母代表了一个组件,每个组件就其本身而言都是在它所代 ...
随机推荐
- selenium2环境搭建----基于python语言
selenium支持多种语言如java.c#.Python.PHP等,这里基于python语言,所以这里搭建环境时需做俩步操作: ----1.Python环境的搭建 ----2.selenium的安装 ...
- js中过滤在输入框中过滤掉特殊表情
在页面输入text 时,经常会出现某些特殊符号例如:❤
- tp5+layui实现分页
layui和thinkphp5自己在百度上下载 html代码 <!DOCTYPE html> <html> <head> <meta charset=&quo ...
- Windows向Linux上传文件夹
1.将文件夹压缩成.tar.gz文件: 安装7-Zip,选择要压缩的文件夹--右键--“7-Zip”--“添加到压缩包...”,压缩格式选择“tar”, 在此目下就生成了“文件夹名.tar”文件, ...
- .net中对象序列化技术
序列化是将对象状态转换为可保持或传输的格式的过程.与序列化相对的是反序列化,它将流转换为对象.这两个过程结合起来,可以轻松地存储和传输数据.例如,可以序列化一个对象,然后使用 HTTP 通过 Inte ...
- winmm.dll包含函数
DLL 文件: winmm 或者 winmm.dll DLL 名称: Windows Multimedia API 描述: winmm.dll是Windows多媒体相关应用程序接口,用于低档的音频和游 ...
- [BZOJ1299]巧克力棒(博弈论,线性基)
[BZOJ1299]巧克力棒 Description TBL和X用巧克力棒玩游戏.每次一人可以从盒子里取出若干条巧克力棒,或是将一根取出的巧克力棒吃掉正整数长度.TBL先手两人轮流,无法操作的人输. ...
- python的并发模块concurrent
Python3.2开始,标准库为我们提供了concurrent.futures模块,它提供了ThreadPoolExecutor和ProcessPoolExecutor两个类,实现了对threadin ...
- 新建的COM组件中没有 MESSAGE_HANDLER(WM_INITDIALOG, OnInitDialog)
创建ATL组件之后,添加简单ATL对象,添加对话框资源,随后发现没有m_hWnd句柄,不响应初始化函数. 于是重新创建ATL组件,之后添加ATL控件,添加对话框资源,有m_hWnd句柄,但仍然不响应初 ...
- 学习经常遇到的浮动(float)
参考自 小辉随笔: https://www.cnblogs.com/lchsirblog/p/9582989.html 一.什么时候需要使用浮动 最常见的情景是:多个块级元素(如div)需要同一行显示 ...