LNMP+MEM+Redis架构部署(扩展)
架构部署一般的都是LNMP和LAMP两种格式的,我这里说的是LNMP的架构部署,nginx、mysql、php、memcache的编译配置安装, mysql的主从配置、权限的一些问题,后台监控nagio和cacti、zabbix的一些介绍,
##########################################################################
在部署架构之前,先安装一下后面所需要的一些必备库,
安装必备库
yum -y groupinstall "Development tools"
yum install -y gcc gcc-c++ make cmake zlib zlib-devel openssh openssl openssl-devel net-snmp pcre pcre-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel xinetd lrzsz dos2unix telnet Python-devel mysql-devel libxslt-devel unixODBC-devel sqlite-devel
##########################################################################
Mysql的编译安装和一些拓展
1.1 mysql的源码编译安装,版本Mysql 5.6.14
下载地址:http://cdn.mysql.com/Downloads/MySQL-5.6/mysql-5.6.14.tar.gz
先检查一下是否有以前安装的mysql,
rpm –qa | grep mysql
如果有,就删除
rpm -e mysql //普通删除模式
rpm -e --nodeps mysql // 强力删除模式,如果使用上面命令删除时,提示有依赖的其它文件,则用该命令可以对其进行强力删除
编译安装,要用cmake来引导安装,所以要先安装cmake
yum -y install cmake
cd /app
groupadd mysql
useradd mysql -g mysql
mkdir -p /usr/local/mysq
mkdir -p /app/mysql/data
mkdir -p /app/mysql/log
tar zxvf mysql-5.6.14.tar.gz
cd mysql-5.6.14
cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_MEMORY_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DENABLED_LOCAL_INFILE=1 \
-DMYSQL_DATADIR=/app/mysql/data \
-DMYSQL_USER=mysql \
-DMYSQL_TCP_PORT=3306
make
make install
make clean
chown -R mysql:mysql /usr/local/mysql
chown -R mysql:mysql /app/mysql/data
chown -R mysql:mysql /app/mysql/log
cd /usr/local/mysql
scripts/mysql_install_db --user=mysql --datadir=/app/mysql/data
/usr/local/mysql/bin/mysqld_safe &
cp support-files/mysql.server /etc/init.d/mysql
ln -s /usr/local/mysql/bin/mysql /usr/bin
ln -s /usr/local/mysql/bin/mysql /usr/sbin
chkconfig mysql on
service mysql start
1.2 数据库账号权限
mysql给权限:
grant 权限 on 数据库.* 用户名@登录主机 identified by “密码”
例子:grant all on *.* to [email protected] identified by "123456"
刷新:fulsh privileges
1.3、数据库备份mysqldump
mysqldump 导出数据
a. 只导出表结构
mysqldump --opt -d 数据库名 -u 用户名 -p 密码> xx.sql
如: mysqldump --opt -d shop_data -u root -p admin >onlystruct_shop_data.sql
b. 只导出数据
mysqldump -t 数据库名 -u 用户名-p 密码 > xx.sql
如: mysqldump --t shop_data -u root -p admin > onlydata_shop_data.sql
c. 导出所有数据和结构
mysqldump 数据库 -u 用户名 -p 密码 > xx.sql
如: mysqldump shop_data -u root -p admin > shop_data.sql
d. 导出特定表
mysqldump 数库 -u 用户名 -p 密码 -B --table 表名 > xx.sql
如: mysqldump shop_data -u root -p admin -B --table user > user.sql
默认字体格式 --default-character-set=utf8
1.4、导入数据sources
source 导入数据
source /home/root/XX.sql 只能用mysql -uroot -padmin 登录后才能使用
如: source /home/root/test.sql
1.5、数据库修改密码mysqladmin
mysql修改密码:
加上新密码:mysqladmin -uroot password新密码
旧密码修改新密码:mysqladmin -uroot -p旧密码 password新密码