Chinaunix首页 | 论坛 | 博客
  • 博客访问: 379055
  • 博文数量: 26
  • 博客积分: 522
  • 博客等级: 中士
  • 技术积分: 329
  • 用 户 组: 普通用户
  • 注册时间: 2009-04-14 13:49
文章分类

全部博文(26)

文章存档

2015年(2)

2012年(7)

2011年(16)

2009年(1)

我的朋友

分类: Mysql/postgreSQL

2011-10-09 13:24:01

在上一篇博客中http://blog.chinaunix.net/space.php?uid=21374062&do=blog&id=2943580,已经写了前端环境部署,这篇将写后端MYSQL 数据库的编译安装。
 
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
# 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


阅读(4238) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~