Windows10强制更新把缓存弄没了,新写一篇补上以供日后查阅。因为mysql已经安装完毕,所以代码部分会简略一些。
11.1LAMP架构介绍
此课开始之后,基础部分就结束了,之后的内容会和服务器运行与维护息息相关了
LAMP是Linux + Apache + MySQL + PHP的首字母缩写。
MySQL可以单独安装在小型机上,但是Apache和PHP要安装在一个机器上。Apache需要的是PHP的一个module,PHP服务也不需要运行。
Apache在我理解上就是连接PHPmodule和MySQL和静态文件的一个介质,我们需要了解的是它的原理,重要的还是数据库的应用。
用户的动态请求,例如校验用户的密码,就需要PHPmodule和MySQL打交道。
用户的静态请求不需要借助PHP,直接提取静态文件即可,例如网站的logo、文字、图片等。
11.2 MySQL_MariaDB介绍
MySQL是一个关系型数据库,可以存储字符串,由sun公司(做java的公司)于2008年以10e美金收购,次年sun公司被oracle收购(74e美金)。oracle也是一个收费的数据库,一般用户银行,放置于小型机上。
MySQL早期是开源的软件,但是被收购就逐渐走向商业模式。最新版本为5.7GA/8.0DMR。
MySQL5.6是一个变化比较大的版本,MySQL5.7性能上有很大的提升。
MariaDB是MySQL的一个分支,由MySQL创始人和原班开源开发者开发,最新版本为MariaDB10.2 。
MariaDB5.5对应MySQL5.5,MariaDB10.0对应MySQL5.6 。
版本划分 :
- Community 社区版本 开源的。
- Enterprise 商业版 有更好的服务支持但是会收费。
- GA (General Available) 通用版本,我们常用版本,比较成熟的版本。
- DMR(Development Milestone Release)开发者里程碑版本,有大的理念的改动。
- RC(Release Candidate)发行候补版本,也是成熟的版本。
- Alpha 内部测试版本,灰度测试。
- Beta 公测版本,收集bug,可能不稳定。
11.3/4/5MySQL安装
以下是结合之前做过的,凭借记忆写的MySQL的源码安装,
MySQL的源码安装需要gcc和cmake两个软件包,这两个都可以通过yum安装,需要epel源。
下载完安装包之后要创建一个用户组mysql和一个组内的用户mysql。
groupadd mysql
useradd -g mysql mysql
最主要的就是configure的时候的编译选项,需要之情datadir,后续需要更改文件的属组和属主,并把配置文件拷贝到默认位置。也可以用-defaults-file指定
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/mysql/data -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS:STRING=all -DWITH_DEBUG=0 -DWITH_SSL=yes -DWITH_READLINE=1 -DENABLED_LOCAL_INFILE=1
make ; make install
cd /usr/local/mysql
chown -R mysql:mysql /usr/local/mysql
./scripts/mysql_install_db --user=mysql -datadir=/mysql/data #此行为生成数据库
#此处如不指定datadir,到启动时会报错
chown -R root .
chown -R mysql data
cp support-files/my-medium.cnf /etc/my.cnf
bin/mysqld_safe --user=mysql &
# Next command is optional
cp support-files/mysql.server /etc/init.d/mysqld
chmod +x /etc/init.d/mysqld
/etc/init.d/mysqld start
最后启动脚本放入init.d目录下,需要给脚本里指定datadir和basedir。虽然也可以写在配置文件里,但是直接在脚本里更改更可靠。