11月9日任务
11.1 LAMP架构介绍
11.2 MySQL、MariaDB介绍
11.3/11.4/11.5 MySQL安装
11.1 、LAMP架构介绍
# Apache和PHP是一体的,必须在一台服务器上,但是MySQL可以单独存在一台服务器上,当用户访问量很小的时候,三个服务也可以同时放在一台服务器上,但当访问量比较大时就要分开。Apache通过PHP模块从MySQL抽取数据,这个属于动态文件。还有一种情况是Apache直接从Apache子目录里边抽取文件为静态文件,例如访问网页的logo就是从子目录里边抽取的。
11.2、MySQL_Mar i aDB介绍
11.3、MySQL安装(上)
-
MySQL的几个常用安装包:rpm、源码包、二进制免编译
-
cd /usr/local/src
-
wget http://mirrors.163.com/mysql/Downloads/MySQL-5.6/mysql-5.6.39-linux-glibc2.12-x86_64.tar.gz
-
tar -zxvf mysql-5.6.35-linux-glibc2.5-x86_64.tar.gz
-
mv mysql-5.6.35-linux-glibc2.5-x86_64 /usr/local/mysql
-
cd /usr/local/mysql
-
useradd mysql
-
mkdir /data/
-
./scripts/mysql_install_db --user=mysql --datadir=/data/mysql
-
cp support-files/my-default.cnf /etc/my.cnf
-
cp support-files/mysql.server /etc/init.d/mysqld
-
vi /etc/init.d/mysqld
-
定义basedir和datadir
-
/etc/init.d/mysqld start
11.4、MySQL安装(中)
[root@zgxlinux-01 mysql]# wget http://mirrors.163.com/mysql/Downloads/MySQL-5.6/mysql-5.6.39-linux-glibc2.12-x86_64.tar.gz [root@zgxlinux-01 src]# tar -zxvf mysql-5.7.23-linux-glibc2.12-x86_64.tar.gz [root@zgxlinux-01 src]# ls apr-1.6.5 httpd-2.4.34.tar.gz apr-1.6.5.tar.gz mysql-5.7.23-linux-glibc2.12-x86_64.tar.gz apr-util-1.6.1 pcre-8.10 apr-util-1.6.1.tar.gz pcre-8.10.zip httpd-2.4.34 [root@zgxlinux-01 src]# tar -zxvf mysql-5.7.23-linux-glibc2.12-x86_64.tar.gz [root@zgxlinux-01 src]# ls apr-1.6.5 httpd-2.4.34.tar.gz apr-1.6.5.tar.gz mysql-5.7.23-linux-glibc2.12-x86_64 apr-util-1.6.1 mysql-5.7.23-linux-glibc2.12-x86_64.tar.gz apr-util-1.6.1.tar.gz pcre-8.10 httpd-2.4.34 pcre-8.10.zip [root@zgxlinux-01 src]# mv mysql-5.7.23-linux-glibc2.12-x86_64 /usr/local/mysql [root@zgxlinux-01 src]# cd .. [root@zgxlinux-01 local]# ls apache apr-util etc include lib libexec pcre share apr bin games iptables.sh lib64 mysql sbin src [root@zgxlinux-01 local]# cd mysql/ [root@zgxlinux-01 mysql]# ls bin docs lib README support-files COPYING include man share [root@zgxlinux-01 mysql]# useradd mysql [root@zgxlinux-01 mysql]# mkdir /data/ [root@zgxlinux-01 mysql]# ls bin docs man README sql-bench COPYING include my.cnf scripts support-files data lib mysql-test share [root@zgxlinux-01 mysql]# ./scripts/mysql_install_db --user=mysql --datadir=/data/mysql [root@zgxlinux-01 mysql]# echo $? 0 [root@zgxlinux-01 mysql]# ls support-files/my-default.cnf support-files/my-default.cnf [root@zgxlinux-01 mysql]# cp support-files/my-default.cnf /etc/my.cnf #拷贝配置文件到默认目录下 cp:是否覆盖"/etc/my.cnf"? y
11.5、MySQL安装(下)
[root@zgxlinux-01 mysql]# cp support-files/mysql.server /etc/init.d/mysqld #拷贝启动脚本 [root@zgxlinux-01 mysql]# vim /etc/init.d/mysqld
[root@zgxlinux-01 mysql]# ls -l /etc/init.d/mysqld -rwxr-xr-x 1 root root 10592 11月 10 11:19 /etc/init.d/mysqld [root@zgxlinux-01 mysql]# chkconfig --add mysqld #加入到开机启动服务 [root@zgxlinux-01 mysql]# chkconfig --list 注:该输出结果只显示 SysV 服务,并不包含 原生 systemd 服务。SysV 配置数据 可能被原生 systemd 配置覆盖。 要列出 systemd 服务,请执行 'systemctl list-unit-files'。 查看在具体 target 启用的服务请执行 'systemctl list-dependencies [target]'。 mysqld 0:关 1:关 2:开 3:开 4:开 5:开 6:关 netconsole 0:关 1:关 2:关 3:关 4:关 5:关 6:关 network 0:关 1:关 2:开 3:开 4:开 5:开 6:关 [root@zgxlinux-01 mysql]# service mysqld start #手动启动脚本 Starting MySQL.Logging to '/data/mysql/zgxlinux-01.err'. . SUCCESS! [root@zgxlinux-01 mysql]# ps aux |grep mysql #查看进程 root 14195 0.0 0.1 11812 1608 pts/0 S 11:23 0:00 /bin/sh /usr/local/mysql/bin/mysqld_safe --datadir=/data/mysql --pid-file=/data/mysql/zgxlinux-01.pid mysql 14303 2.2 44.6 1302720 449776 pts/0 Sl 11:23 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=zgxlinux-01.err --pid-file=/data/mysql/zgxlinux-01.pid root 14333 0.0 0.0 112720 980 pts/0 R+ 11:23 0:00 grep --color=auto mysql [root@zgxlinux-01 mysql]# netstat -lntp #查看监听端口 Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 192.168.56.128:873 0.0.0.0:* LISTEN 1885/rsync tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 952/sshd tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 1114/master tcp6 0 0 :::3306 :::* LISTEN 14303/mysqld tcp6 0 0 :::22 :::* LISTEN 952/sshd tcp6 0 0 ::1:25 :::* LISTEN 1114/master
#停掉服务,这里注意最好不适用kill命令,因为kill命令是直接关闭,可能会丢数据。killall会先停止当前的写读操作,然后把没有写入的数据写入到缓存中,当数据写完后再关闭。以后工作中如果停止mysql进程,一分钟还没有关闭,这个时候不要强制关闭,慢慢等着写入缓存。
[root@zgxlinux-01 mysql]# yum install psmisc #killall命令没有的话安装这个包 [root@zgxlinux-01 mysql]# killall mysqld [root@zgxlinux-01 mysql]# ps aux |grep mysql root 14424 0.0 0.0 112720 980 pts/0 R+ 11:35 0:00 grep --color=auto mysql