2017.12.14 九周第一次课

11.1 LAMP架构介绍

输入图片说明

Apache(httpd):web服务软件php

Mysql:数据库,存储数据的mysql

PHP:编程语言linux

输入图片说明

Apache不能直接和Mysql相连c++

11.2 MySQL、MariaDB介绍web

输入图片说明

11.3/11.4/11.5 MySQL安装sql

输入图片说明

rpm包安装有一个缺点就是不能定义你所安装的路径,它默认的就是安装在user下面。shell

二进制免编译包能够本身指定数据库

LAMP 是 Linux Apach MySQL PHP 的缩写,其实就是把 apach,MySQL以及PHP安装在LINUX系统上,组成一个环境来运行PHP的脚本语言。编程

Apache是最经常使用的WEB服务软件,而MySQL 是比较小型的数据库软件,这两个软件以及PHP均可以安装到Windows机器上。vim

平时安装的MySQL 都是源码包安装的,可是编译时间须要很长时间,建议安装二进制免编译包。建议下载一个5.6版本。mirrors.souhu.com

初始化mysql

#uname -i 【查看CentOS的位数,选择相应的MySQL进行下载。uname -a 也能够】

#cd /usr/local/src 【建议的默认源码包下载路径】

#wget http://mirrors.sohu.com/mysql/MySQL-5.6/mysql-5.6.35-linux-i686-glibc2.5-x86_64tar.gz

#tar

#useradd mysql 【增长一个用户的,不建立家目录,自定义shell,/sbin/nologin】

#mv mysql-5.1.72-linux-i686-glibc23 /usr/local/mysql 【移动而且重命名,无需编译】

#cd /usr/local/mysql

#vim INSTALL-BINARY 【查看readme 或者 install等帮助文档】

#mkdir -p /data/mysql 【增长数据库安装目录】

#chown -R mysql /data/mysql 【更改权限】

# ./scripts/mysql_install_db --user=mysql --datadir=/data/mysql	【执行初始化,指定数据库所属主,定以数据库安装目录,建议放置到大的分区上。】

输入图片说明

配置 mysql

# cp support-files/my-large.cnf /etc/my.cnf	【拷贝配置文件,可能会提示覆盖,覆盖便可】

#cat /etc/my.cnf

# The MySQL server

[mysqld]

port = 3306 【监听端口,用来 通信】

socket = /tmp/mysql.sock 【socket,linux独有的通信功能】

skip-locking

key_buffer_size = 256M

max_allowed_packet = 1M

table_open_cache = 256

sort_buffer_size = 1M

read_buffer_size = 1M

read_rnd_buffer_size = 4M

myisam_sort_buffer_size = 64M

thread_cache_size = 8

query_cache_size= 16M

# Try number of CPU's*2 for thread_concurrency

thread_concurrency = 8

# Replication Master Server (default)

# binary logging is required for replication

log-bin=mysql-bin 【mysql在查询插入删除更新数据的时候,会记录日志】

# cp support-files/mysql.server /etc/init.d/mysqld	【拷贝启动脚本并修改属性】

# chmod 755 /etc/init.d/mysqld

# vim !$

basedir=/usr/local/mysql

datadir=/data/mysql #错误日志所在

# chkconfig --add mysqld	【增长mysqld服务】
# chkconfig mysqld on		【启动mysqld】
# service mysqld start
# /etc/init.d/mysqld status	【查看mysqld的启动状况,也能够用ps aux 查看,也能够用 netstat -lnp 查看port】

常见错误以及疑问:

一、初始化数据库的时候报错 error while loading shared libraries: libstdc++.so.5: cannot open shared object file: No such file or directory

是由于libstdc++.so.5没有装

yum install -y compat-libstdc++-33.x86_64

二、创建mysql用户的目的是,在以后启动服务,初始化数据的时候,都要用到这个用户

三、若是启动不了,请到 /data/mysql/ 下查看错误日志,这个日志一般是主机名.err. 检查mysql是否启动的命令为:

[root@localhost mysql]# ps aux |grep mysqld

四、怎么去看这个安装包是否是免编译的?

到目前为止,也只有mysql会有这种包,会以这样的方式安装。 看它是否是二进制,看它的名字是否是带 glibc 和 i586 x86_64 这些字眼,源码包是不会带这些的。二进制的包不须要configure make。

关于安装包,咱们要遵循一个规则,就是要到官网去下载包,下载以前你先看看它是针对平台的包仍是源码包,都是有标记和说明的。 固然,下载下来的包,解压后都会有一个安装说明文件,一般叫作readme或者INSTALL,看看安装过程,有make的 确定是源码包了。 再一个就是经过名称来看,规范的包,都会在名字上去标记它是什么包,源码包名字不会加任何修饰,好比mysql的源码包,就是mysql-版本号.tar.gz 而免编译的包,都会标记有i686或者x86_64字眼。mysql-5.1.53.tar.gz 这样的就是源码包。

五、初始化的时候....

[root@centos mysql]# /usr/local/mysql/scripts/mysql_install_db --user=mysql --datadir=/data/mysql/

Installing MySQL system tables..../bin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory

linux是最小化安装的,这里报错缺乏共享库文件,不要紧,咱们安装一下就能够了。

[root@centos mysql]# yum install -y libaio

六、铭哥,若是我想卸载mysql,是否是直接删除用户,删除init.d下的启动服务,用chkconfig删除服务再删除目录,就能够卸载mysql了?还有须要注意的吗?还有没有更好的方法呢? 若是是卸载我们的方法安装的mysql,具体作法是:

  1. 停掉服务

  2. 删除/usr/local/mysql

  3. 删除/data/mysql

  4. 删除/etc/my.cnf

  5. 删除启动脚本

  6. 删除mysql用户

七、这个用包安装,和用命令yum install mysql; yum -y install mysql-server ;yum install mysql-devel。这两个有什么区别?

区别在于mysql mysql-server mysql-devel 包的区别。

mysql包就是客户端程序,咱们平时用命令mysql -u -h 链接server 的时候,就用这个包

mysql-server 是服务端程序,跑服务的话要安装这个包

mysql-devel 这个是开发库相关的包,安装php的时候,要依赖mysql,就得有这个开发库支持

八、my-large.cnf my-huge.cnf my-medium.cnf my-small.cnf 这几个文件有什么区别?为何选择my-large.cnf

文件区别在于,缓存相关的一些参数不一样,好比large里面缓存配置参数就比较大。

九、我以前有lamp服务,此次练习安装把以前的卸载了 运行 cp my-large.cnf /etc/my.cnf cp mysql.server /etc/init.d/mysqld这俩命令的时候, 报错:cp: not writing through dangling symlink `/etc/init.d/mysqld' 这是什么缘由?

先删除/etc/init.d/mysqld 再拷贝

这章须要好好弄明白,周日在复习

相关文章
相关标签/搜索