LAMP介绍Mysql_MariaDBMysql安装Mysql_MariaDB安装
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LAMP介绍Mysql_MariaDBMysql安装Mysql_MariaDB安装相关的知识,希望对你有一定的参考价值。
LAMP架构介绍
LAMP :(Linux+Apache(httpd)+mysql+php)
Apache(httpd)+MySQL+PHP何以在同一台机器,也可以分开(Apache(httpd)+PHP要安装在一起)
Apache 要和MySQL打交道需要借助PHP 模块(MySQL不存图片、文件等)
Apache 直接和静态文件可以交互
Mysql_MariaDB
MySQL安装
rpm :默认安装在/usr/下,不能定义安装路径
二进制免编译包 :可以指定安装路径(以下实验都是用这种包),这个软件包是区分平台的,x86-64:64位,i686、i586:32位。如何查看自己操作系统是多少位的? uname -i
(实验中把软件包都放在:/usr/local/src/)
(安装包地址(1)官网 (2)http://r.aminglinux.com )
安装步骤:
1.下载二进制免编译包:
2.解压:tar zxvf
3.移动目录到目标路径目录下
mv mysql-5.6.36-linux-glibc2.5-x86_64 /usr/local/mysql
4.cd /usr/local/mysql/
ls
5.创建mysql用户,因为启动mysql需要该用户
useradd mysql
6.创建/data目录:(存放数据库文件)
mkdir /data/
7.初始化:
./scripts/mysql_install_db --user=mysql --data=/data/mysql
命令执行后报错,缺少一个包,要安装再执行上述命令
yum 模糊搜索要安装的包:
mysql]# yum list |grep perl |grep -i dumper
(如果不知道是哪个包每个安装一遍再执行需要执行的命令)
yum install -y perl-Data-Dumper
再执行:
初始化命令
./scripts/mysql_install_db --user=mysql --data=/data/mysql
说明这个命令执行的结果是正确的判断标准是?\
(1)看文中是否有两个ok
(2)echo $? 输出0:正确(在需要验证的命令执行后立马输入echo $?,这个命令是检验上一条命令是否正确)
7.复制配置文件 到/etc/下并改名
cp support-files/my-default.cnf /etc/my.cnf
(我们的mysql配置文件就是以.cnf结尾,且固定放在/etc/下,如果放在其他地方下,启动是需要做指定,不然会默认找/etc/my.cnf)
系统自带一个/etc/my.cnf文件
执行:cp support-files/my-default.cnf /etc/my.cnf
编辑/etc/my.cnf,修改内容
(其实也可以用自带的那个/etc/my.cnf配置文件,同样修改这两处地方就行)
8.复制启动脚本:复制到/etc/init.d/mysqld 名为mysqld
cp support-files/mysql.server /etc/init.d/mysqld
编辑:vim /etc/init.d/mysqld
设置系统开机时,服务启动
chkconfig --add mysqld (添加到系统服务列表)
( chkconfig mysql on (使其开机就启动))
(用命令启动起来:/etc/init.d/mysqld start 或者service mysqld start)
service mysqld start
service mysqld stop 停止服务
(假如我们没有把服务的启动脚本/配置文件放到/etc/init.d/下(或者无服务的启动脚本/配置文件),那么我们怎么去启动一个服务呢?
命令行方式:
/usr/local/mysql/bin/mysqld_safe --defaults-file=/etc/my.cnf --user=mysql --datadir=/data/mysql & (&:命令最后加上表示为把命令执行放在后台)
(这里的!ps : ps aux |grep mysql)
这种启动只能用 killall mysqld 杀死进程而不能停止
kill cid 或killall 服务名 都可以杀死进程,但是killall+服务名相对安全,不容易丢失数据,它会让服务的读写完成后才真正结束一个服务,而kill cid立马杀死服务进程
)
MariaDB安装
先进入到/usr/local/src
cd /usr/local/src
1.下载二进制免编译包:
(官网地址:https://downloads.mariadb.com/ )
2.解压:
tar zxvf
3.移动解压后的目录到目标路径目录下 /usr/local/ (并改名为mariadb,方便和mysql区分)
mv mariadb-10.2.6-linux-glibc_214-x86_64 /usr/local/mariadb
4.进入到mariadb目录下
cd /usr/local/mariadb
也是需要创建
(1)创建用户:mysql
(2)/data/目录(/data/mariadb)
(这都在执行mysql时创建过了,这里省略,直接使用)
5.初始化:(datadir: data/mariadb(指定datadir时,mariadb会自动创建),用户也是mysql)
./scripts/mysql_install_db --user=mysql --basedir=/usr/local/mariadb/ --datadir=/data/mariadb
(尝试不加--basedir=/usr/local/mariadb/,会不会出错,教程是不加的)
检测上一条命是否是执行正常:echo $?
6.复制配置文件和复制启动脚本:
可以看到support-files/ 有多个 .cnf文件(small、medium、large),这些文件不同在于它们缓存大小不一样,可以根据自己机器的大小和实际情况复制相应的配置文件,我实验是用my-small.cnf
(1)复制配置文件
cp support-files/my-small.cnf /usr/local/mariadb/my.cnf
(正常来说我们的数据库的配置文件应该复制到/etc/my.cnf下的,但是因为在之前的mysql的配置文件已经是放在这里了,所以为了区分放到/usr/local/mariadb/my.cnf下
)
(2)复制启动脚本: cp support-files/mysql.server /etc/init.d/mariadb
7.修改配置文件和启动脚本:
(1)配置文件(基本不用改)加内容:datadir=/data/mariadb
放在mysqld下,添加datadir=/data/mariadb
(2)编辑修改启动脚本
vim /etc/init.d/mariadb
修改成这样,其中添加的conf是指定我们配置文件的路径(conf=/usr/local/mariadb.my.cnf)
定义了conf,还需要在往下修改,在启动命令
8.启动mariadb(启动前先确定之前的进程mysql是否停止(),否者会出现冲突,因为两者都是监听3306端口)
/etc/init.d/mariadb start (或者:service mariadb start)
检查:ps aux |grep mariadb 、 netstat -ltnp
如果我们的机器是没有安装到mysql的,仅仅安装mariaDB,则配置文件也直接复制到/etc/my.cnf下就行,同时也不需要在启动脚本下定义conf
如果在修改配置文件时,没有修改过文件:
执行完以上操作,我们会发现在进程中 --datadir是--datadir=/data/mysql调用了mysql的文件,而不是我们定义的--datadir=/data/mariadb
这是因为我们的配置文件中没用定义这个参数,所以在配置文件中定义一下。
vim /usr/local/mariadb/my.cnf
放在mysqld下,添加datadir=/data/mariadb
保存退出后:再重新启动服务
killall mysqld
/etc/init.d/mariadb start
以上是关于LAMP介绍Mysql_MariaDBMysql安装Mysql_MariaDB安装的主要内容,如果未能解决你的问题,请参考以下文章
答学员问服务器上安装好LAMP架构,部署wordpress之后网页端无法访问
答学员问服务器上安装好LAMP架构,部署wordpress之后网页端无法访问