11.2 MySQL、MariaDB介绍
11.3/11.4/11.5 MySQL安装
LAMP架构介绍
Apache不能直接和MySQL互联,只能通过PHP Module去MySQL中调取数据,把结果交给Apache,再给用户(动态请求)
如网站的某个图标,存在 linux服务器上的某个路径中,调用和返回都是通过apache无需经过MySQL (静态请求)
MySQL_Maria DB
MYSQL安装
二进制免编译包:在发布前的Linux机器上进行编译,然后压缩打包(优势是可以放到指定安装目录下)
uname -a 查看版本,如果x86_64则为64位版本,如果是i686 i586则是32位
下载MySQL 5.6版本到/usr/local/src/目录下
然后用tar zxvf 包名 命令解压安装包
①把下载的mysql安装包移到/usr/local/mysql目录下
②切换到/usr/local/mysql目录下
③ls看是否有相应的文件和目录(不能先创建/usr/lcoal/mysql再执行①操作,这样就整个文件都放在该目录下了)
④创建mysql用户 useradd mysql
⑤创建data目录 mkdir /data/
⑥./scripts/mysql_install_db --user=mysql --datadir=/data/mysql (指定用户mysql 指定数据库数据存放目录地址/data/)
出现报错,可用yum list |grep perl |grep -i dumper (-i忽略大小写查找)(或者用google/bing等查询报错解决方案)
安装完依赖包后再执行⑥操作,完成后,检验命令执行是否正确,返回值为0,代表没有问题:(1-6步骤为初始化)
⑦拷贝配置文件:系统启动时默认查找/etc/my.cnf,如果想指定在某路径,需要做一个指引,把配置文件拷贝到/etc/my.cnf中:cp support-files/my-default.cnf /etc/my.cnf
rpm -qf 查询/etc/my.cnf的源码包安装文件,可以直接修改/etc/my.cnf把路径修改,注释掉log.file/pid,子配置文件也可以注释掉
⑧增加启动脚本:cp support-files/mysql.server /etc/init.d/mysqld
然后编辑 vi /etc/init.d/mysqld 修改basedir(程序目录)= /usr/local/mysql datadir=/data/mysql
修改文件权限755 chmod 755 文件名 ,ls -ls 文件名查看默认权限就是755,把该文件增加到默认启动中:
chkconfig --add mysqld
chkconfig --list查看是否添加成功
使用 /etc/init.d/mysqld start或者service mysqld start启动服务
查看进程 ps aux/ -elf |grep mysqld,监听端口 netstat -lntp
如果服务器中没有可拷贝的配置和启动服务文件 support-files/my-default.cnf & support-files/mysql.server可以使用命令行的形式解决:
先service mysqld stop !ps查看进程已停止
命令行启动mysql:/usr/local/mysql/bin/mysqld_safe --defaults-file=/etc/my.cnf --user=mysql --datadir=/data/mysql
其中--defaults-file指定启动调用的配置文件目录
此方法想要结束进程可以用killall mysqld
killall和kill+pid的区别在于前者相对安全,因为它只是会停止当前操作,同时把内存中还没有来得及写入磁盘的数据慢慢同步进去(mysql服务启动后就一直处于读写状态,如有一部分未写入磁盘的数据还在内存m缓存中,kill +pid会强制停止会让这部分数据无法写入磁盘中,造成数据丢失)
MySQL两大引擎: innodb & myisam (前者存储量较大、后者相对小)