首页 > 数据库 >11.1 LAMP架构介绍 11.2 MySQL、MariaDB介绍 11.3/11.4/11.5 MySQL安装

11.1 LAMP架构介绍 11.2 MySQL、MariaDB介绍 11.3/11.4/11.5 MySQL安装

时间:2022-10-13 21:02:38浏览次数:40  
标签:11.4 11.5 linux data -- mysql MySQL root

 



11.1 LAMP架构介绍

LAMP是Linux+Apache(httpd)+MySQL+PHP的简称

• Linux:操作系统

• Apache(httpd):WEB服务器软件,提供WEB服务

• MySQL:关系型数据库用于存储数据(字符串)

• PHP:脚本语言(编写网站为主)

Linux是操作系统同时也是架构的基础,Apache、MySQL以及PHP是基于操作系统运行的软件或服务或角色,这三个角色可以再同一机器上运行,也可以分开运行(Apache要和PHP在一起)。

• httpd、PHP、MySQL三者的工作方式

11.1 LAMP架构介绍 11.2 MySQL、MariaDB介绍 11.3/11.4/11.5 MySQL安装_linux

Apache和PHP是一个整体(PHP以模块的形式与Apache相结合),Apache本身不能直接与MySQL进行交互,要通过PHP模块进行交互。

用户通过浏览器向WEB服务器(Apache)发送请求,请求可分为两类,一类是静态请求(加载图片,访问相关资源),另一类是动态请求(登录,编辑)。当Apache识别用户请求为静态请求时,Apache与静态文件进行交互,调取用户所需文件;当Apache识别用户请求为动态请求时,通过PHP模块与MySQL进行交互,将用户提供的数据与MySQL中数据进行比对、写入、删除等,最终返回结果给用户。



11.2 MySQL、MariaDB介绍

• MySQL是一个关系型数据库,由mysql ab公司开发,mysql在2008年被sun公司收购(10亿刀),2009年sun公司被oracle公司收购(74亿刀)。

• MySQL官网https://www.mysql.com  最新版本5.7GA/8.0DMR。

• MySQL5.6变化比较大,5.7性能上有很大提升。

• Mariadb为MySQL的一个分支,官网https://mariadb.com/最新版本10.2。

• MariaDB主要由SkySQL公司(现更名为MariaDB公司)维护,SkySQL公司由MySQL原作者带领大部分原班人马创立。

• Mariadb5.5版本对应MySQL的5.5,10.0对应MySQL5.6。

• Community 社区版本,Enterprise 企业版。

• GA(Generally Available)指通用版本,在生产环境中用的。

• DMR(Development Milestone Release)开发里程碑发布版。

• RC(Release Candidate)发行候选版本。

• Beta开放测试版本,Alpha内部测试版本。



11.3/11.4/11.5 MySQL安装

• MySQL的几个常用安装包:rpm、源码、二进制免编译

  1. Mysql的源码安装是cmake和apache的make不一样,具体查看安装文档。
  2. Rpm包安装不能自定义安装路径;
  3. 二进制:在发布之前在一台linux服务器上,做一个编译,然后把编译完成的文件重新编排放到一个目录下,打包压缩后发布出来;好处是不用花费太多的时间去编译,直接解压后使用.如果想要更加准确完善的安装,可以使用源码安装,一般使用二进制安装就可以。

二进制包是区分平台的,centos7之前的版本都是区分32位和64位,centos7直接选择64位安装。

[root@linux-5 src]# uname –i   //查看linux是多少位
x86_64



下载源码包:

[root@linux-5 ~]# cd /usr/local/src   //建议将所有软件包都放在这个目录下

下载地址到r.aminglinux.com找最新的下载

[root@linux-5 src]# wget http://mirrors.sohu.com/mysql/MySQL-5.6/mysql-5.6.36-linux-glibc2.5-x86_64.tar.gz

注:本人由于网络问题,无法直接将安装包下载至Linux操作系统中,故采用先下载至本地Windows系统上(版本5.6.35),后通过rz命令上传至Linux操作系统上



初始化

1.解压

[root@linux-5 src]# tar zxvf mysql-5.6.35-linux-glibc2.5-x86_64.tar.gz

2.重命名

[root@linux-5 src]# mv mysql-5.6.35-linux-glibc2.5-x86_64 /usr/local/mysql
[root@linux-5 ~]# cd /usr/local/mysql
[root@linux-5 mysql]# ls
bin data include man README share support-files
COPYING docs lib mysql-test scripts sql-bench

3.建立mysql用户,因为启动mysql时需要该用户

[root@linux-5 mysql]# useradd -s /sbin/nologin mysql

4.创建存放数据库目录的目录

[root@linux-5 mysql]# mkdir /data

5.初始化

[root@linux-5 mysql]# ./scripts/mysql_install_db --user=mysql --datadir=/data/mysql  
//--user=mysql 以用户mysql身份运行,--datadir=/data/mysql存放数据库的目录
ERROR: please install the following Perl modules before executing ./scripts/mysql_install_db:
Data::Dumper //这里出现了错误,原因是缺少包 perl-Module-Install

可以使用yum list 来查看缺少包
[root@linux-5 mysql]# yum list |grep perl |grep -i dumper
Repodata is over 2 weeks old. Install yum-cron? Or run: yum makecache fast
perl-Data-Dumper.x86_64 2.145-3.el7 base
perl-Data-Dumper-Concise.noarch 2.020-6.el7 epel
perl-Data-Dumper-Names.noarch 0.03-17.el7 epel
perl-XML-Dumper.noarch 0.81-17.el7 base

安装perl-Data-Dumper包
[root@linux-5 mysql]# yum install -y perl-Data-Dumper

6.然后再执行一次

[root@linux-5 mysql]# ./scripts/mysql_install_db --user=mysql --datadir=/data/mysql  
如果看到两个OK说明执行正确,或者echo $? 结果为0 也表示执行正确。
[root@linux-5 mysql]# echo $?
0

11.1 LAMP架构介绍 11.2 MySQL、MariaDB介绍 11.3/11.4/11.5 MySQL安装_mysql_02



配置Mysql

Mysql的配置文件在/usr/local/mysql/support-files/目录下my-default.cnf,它是msyql的模板配置文件

1.拷贝配置文件

[root@linux-5 mysql]# cp /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf
cp:是否覆盖"/etc/my.cnf"? y
//这里已经存在文件my.cnf,这是之前系统rpm安装留下的,我们可以查看它是哪个包安装的
[root@linux-5 mysql]# rpm -qf /etc/my.cnf
mariadb-libs-5.5.52-1.el7.x86_64

我们这里直接按“y”覆盖即可

2.修改配置文件

[root@linux-5 ~]# vim /etc/my.cnf

# For advice on how to change settings please see
# http://dev.mysql.com/doc/refman/5.6/en/server-configuration-defaults.html
# *** DO NOT EDIT THIS FILE. It's a template which will be copied to the
# *** default location during install, and will be replaced if you
# *** upgrade to a newer version of MySQL.

[mysqld]

# Remove leading # and set to the amount of RAM for the most important data
# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
# innodb_buffer_pool_size = 128M

# Remove leading # to turn on a very important data integrity option: logging
# changes to the binary log between backups.
# log_bin

# These are commonly set, remove the # and set as required.
basedir = /usr/local/mysql //mysql的安装目录
datadir = /data/mysql //存放数据库的目录
port = 3306 //端口
# server_id = ..... //mysql的ID号,做主从的时候要用到
socket = /tmp/mysql.sock //mysql服务监听的套件字地址,也是用来通信的。

# Remove leading # to set options mainly useful for reporting servers.
# The server defaults are faster for transactions and fast SELECTs.
# Adjust sizes as needed, experiment to find the optimal values.
# join_buffer_size = 128M



启动脚本

1.复制启动脚本

[root@linux-5 mysql]# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld

2.修改启动脚本

[root@linux-5 mysql]# vim /etc/init.d/mysqld
basedir=/usr/local/mysql
datadir=/data/mysql

3.修改权限

[root@linux-5 mysql]# chmod 755 /etc/init.d/mysqld

4.将mysqld服务加入到系统服务列表中

[root@linux-5 mysql]# chkconfig --add mysqld

5.设置开机启动

[root@linux-5 mysql]# chkconfig mysqld on

6.启动服务

[root@linux-5 ~]# service mysqld start 
Starting MySQL.Logging to '/data/mysql/linux-5.err'.
. SUCCESS!

注:如果启动不了,请到/data/mysql/目录下查看错误日志,这个日志通常是主机名.err

7.查看mysql进程

[root@linux-5 ~]# ps aux |grep mysqld
root 3233 0.0 0.0 11772 1596 pts/1 S 19:58 0:00 /bin/sh /usr/local/mysql/bin/mysqld_safe --datadir=/data/mysql --pid-file=/data/mysql/linux-5.pid
mysql 3395 0.8 24.0 973052 449444 pts/1 Sl 19:58 0:01 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/data/mysql --plugin-dir=/usr/local/mysql/lib/plugin --user=mysql --log-error=/data/mysql/linux-5.err --pid-file=/data/mysql/linux-5.pid --socket=/tmp/mysql.sock --port=3306
root 3443 0.0 0.0 112676 984 pts/1 S+ 20:01 0:00 grep --color=auto mysqld

8.查看mysql监听的端口

[root@linux-5 ~]# netstat -lnp |grep mysqld
tcp6 0 0 :::3306 :::* LISTEN 3395/mysqld
unix 2 [ ACC ] STREAM LISTENING 55465 3395/mysqld /tmp/mysql.sock

如果我们不知道mysql的启动文件,我们还可以使用命令行的方法来启动mysql 先关闭之前打开的mysql

[root@linux-5 mysql]# service mysqld stop
Shutting down MySQL.. SUCCESS!

执行命令行

/usr/local/mysql/bin/mysqld_safe --defaults-file=/etc/my.cnf --user=mysql --datadir=/data/mysql &
//--defaults-file=/etc/my.cnf指定配置文件的路径

注:在使用kill杀死进程时,最好使用killall,不建议使用kill pid,killall更加安全一些,不会立即停止进程,以mysqld为例,当MySQL写数据时,killall会等待数据完全写入完毕后再杀死进程,如果使用killall进程较长时间没有杀死,千万不要用kill -9强行杀死进程,否则很可能造成数据丢失,甚至数据库表的损坏。

标签:11.4,11.5,linux,data,--,mysql,MySQL,root
From: https://blog.51cto.com/u_13622854/5754612

相关文章

  • MySQL双机热备
     1.MySQL双机热备原理双机热备就是使用MySQL提供的一种主从备份机制实现。所谓双机热备其实是一个复制的过程,复制过程中一个服务器充当主服务器,一个或多个服务器充当从服......
  • MYSQL-->客户端常用工具指令
    mysql这个mysql指的是mysql的客户端管理工具语法mysql选项数据库选项内容-u指定用户名-p指定密码-h指定ip地址-P指定端口-e执行SQL语句并退出-e选项可......
  • Mysql使用load命令报错
    问题1:ERROR1290(HY000):TheMySQLserverisrunningwiththe--secure-file-privoptionsoitcannotexecutethisstatement需要在my.cnf文件里面添加[mys......
  • MYSQL-->InnoDB引擎底层原理
    逻辑存储结构逻辑存储结构图表空间表空间文件在Linux下存放在/var/lib/mysql文件中的xxx.ibd文件就是表空间文件表空间文件用来存储,记录,索引等数据。段段分......
  • Mysql----锁
    参考:https://www.bilibili.com/video/BV1Kr4y1i7ru?p=121&vd_source=c85b4a015a69e82ad4f202bd9b87697f概述介绍锁是计算机协调多个进程或者线程并发访问某一资源的机制......
  • Mysql创建索引
    创建索引方式一:建立表的时候创建CREATETABLE`student`(`ID`int(11)NOTNULLAUTO_INCREMENT,`name`varchar(20)DEFAULTNULL,`grade`varchar(20)DE......
  • mysql用户授权
    查看mysql库user表结构>descmysql.user;查看mysql用户和密码>selectUser,Host,authentication_stringfrommysql.user;查看crm_user'@'10.%.%.%'授权>sh......
  • Unity---2020版本连接Mysql报错
    连接Mysql需要Mysql.data打包发布后无法连接数据库需要导入I18N.dll,I18N.CJK.dll,I18N.West.dll导入System.Data.dll2020版本以上不需要导入System.Data.dll如......
  • MySQL——锁
    一、锁概述锁是计算机协调多个进程或线程并发访问某一资源的机制(避免争抢)。 在数据库中,除传统的计算资源(如CPU、RAM、I/O等)的争用以外,数据也是一种供许多用户共享的资......
  • MySQL——锁的类型以及加锁原理、死锁
    前言使用insertintoonduplicatekeyupdate语句进行插入去重,但是在测试过程中发现了死锁现象:ERROR1213(40001):Deadlockfoundwhentryingtogetlock;tryre......