当前位置: > CentOS > CentOS服务器 > webserver >

CentOS+MYSQL 后端部署 生产环境

时间:2016-06-04 18:00来源:linux.it.net.cn 作者:IT
0. MYSQL数据库服务器分区方案(我的是146G硬盘):
=============================
/boot:用来存放与Linux系统启动有关的程序,比如启动引导装载程序等,大小为100MB;
swap:实现虚拟内存,建议大小是物理内存的1~2倍;
/tmp:将临时盘在独立的分区,可避免在文件系统被塞满时影响到系统的稳定性。大小为内存大小;
/data: 用来存放MYSQL数据文件目录,数据文件存放目录单独分离一个独立硬盘,大小为100G;
/u :   用户存放应用程序所占用的空间,建议大小为剩下的空间;
 
1. 系统环境
=========================
CENTOS 5.4或5.5 64bit
MYSQL 5.5.16
####################################
# 安装相关组件:
yum -y install yum-fastestmirror
yum -y install patch make flex bison tar
yum -y install libtool libtool-libs kernel-devel 
yum -y install libjpeg libjpeg-devel libpng libpng-devel
yum -y install libtiff libtiff-devel gettext gettext-devel
yum -y install libxml2 libxml2-devel zlib-devel  net-snmp
yum -y install file glib2 glib2-devel bzip2 diff* openldap-devel
yum -y install bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs
yum -y install e2fsprogs-devel krb5 krb5-devel libidn libidn-devel
yum -y install openssl openssl-devel vim-minimal unzip
# 安装MYDSQL所需要系统库相关库文件
yum install -y gcc gcc-c++ gcc-g77 autoconf automake  fiex* ncurses-devel libmcrypt* libtool-ltdl-devel* bison
######################################
 
######################################
#前期准备
######################################
(1) 创建用户和用户组与赋予数据存放目录权限
# groupadd mysql
# useradd -s /sbin/nologin -M -g mysql mysql
# mkdir /data/mysql
# chown -R mysql:mysql /data/mysql
 
 
2. 软件安装
=================================================
(1) CMAKE 安装
新版本MYSQL5.*安装需要CMAKE软件支持
# wget http://www.cmake.org/files/v2.8/cmake-2.8.4.tar.gz
# tar  xvzf cmake-2.8.4.tar.gz
# cd cmake-2.8.4 
# ./configure
# make && make install
 
(2) MYSQL 源码包安装
# tar zxf mysql-5.5.16.tar.gz
# cd mysql-5.5.16
# cmake . -DCMAKE_INSTALL_PREFIX=/u/mysql5 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DENABLED_LOCAL_INFILE=1 -DMYSQL_TCP_PORT=3306 -DEXTRA_CHARSETS=all -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_DEBUG=0 -DWITH_EXTRA_CHARSETS:STRING=utf8,gbk  -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DENABLED_LOCAL_INFILE=1
# make && make install
复制配置文件
# cp support-files/my-medium.cnf /etc/my.cnf 
# chmod 755 scripts/mysql_install_db
# sed -i 's/skip-locking/skip-external-locking/g' /etc/my.cnf
# cp -p support-files/mysql.server /etc/init.d/mysqld
# chmod 755 /etc/init.d/mysqld
# ./scripts/mysql_install_db --basedir=/u/mysql5 --datadir=/data/mysql --user=mysql
初始化数据库,必须带basedir,datadir参数,不然报错,具体错误可网上查看。
 
# /etc/init.d/mysqld start (启动数据库)
# mysql -u root -p (通过命令行登录管理MySQL服务器 初始密码为空)
修改root密码
mysql>;use mysql ;
mysql>; update user set password=PASSWORD("123456") where user='root';
mysql>; FLUSH PRIVILEGES;
修改远程登陆方式

1、修改localhost
更改 "mysql" 数据库里的 "user" 表里的 "host" 项,从"localhost"改成"%" 
mysql>use mysql; 
mysql>update user set host = '%' where user = 'root'; 
mysql>select host, user from user;
mysql>FLUSH PRIVILEGES;

 

2、指定授权
使用myuser/mypassword从任何主机连接到mysql服务器: 
GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;

使用myuser/mypassword从ip为192.168.225.166的主机连接到mysql服务器:
GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.225.166' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;

 

3、泛授权
mysql -h localhost -u root 
mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION; //赋予任何主机上以root身份访问数据的权限 
mysql>FLUSH PRIVILEGES;

注意问题:
===========================================
上面编译支持的字符集GBK没有生效,也不知道啥原因,百度,google,都没有找到解决办法,只好重新编译。大于5版本通过修改my.cnf参数不生效。从新编译方法:
cmake . -DCMAKE_INSTALL_PREFIX=/u/mysql -DWITH_INNOBASE_STORAGE_ENGINE=1 -DENABLED_LOCAL_INFILE=1 -DMYSQL_TCP_PORT=3306 -DEXTRA_CHARSETS=all -DDEFAULT_CHARSET=gbk -DDEFAULT_COLLATION=gbk_chinese_ci -DWITH_DEBUG=0 -DWITH_EXTRA_CHARSETS:STRING=utf8,gbk  -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DENABLED_LOCAL_INFILE=1


 
(责任编辑:IT)
------分隔线----------------------------