1.安装

--假设已经有mysql-5.5.10.tar.gz以及cmake-2.8.4.tar.gz两个源码压缩文件
1)先安装cmake(mysql5.5以后是通过cmake来编译的)
 
  # tar -zxv -f cmake-2.8.4.tar.gz
  # cd cmake-2.8.4
  # ./configure
  # make
  # make install

2)创建mysql安装目录及数据目录

  # mkdir -p /usr/local/mysql                 --mysql安装目录 
  # mkdir -p /usr/local/mysql/data            --mysql数据目录

3)创建mysql用户及用户组

 # groupadd mysql
 # useradd -r -g mysql mysql

 4)安装mysql

  # tar -zxv -f mysql-5.5.10.tar.gz
  # cd mysql-5.5.10
  # cmake . 
  -DCMAKE_INSTALL_PREFIX=/usr/local/mysql
  -DMYSQL_DATADIR=/usr/local/mysql/data
  -DDEFAULT_CHARSET=utf8
  -DDEFAULT_COLLATION=utf8_general_ci 
  -DEXTRA_CHARSETS=all 
  -DENABLED_LOCAL_INFILE=1
  --注:
    上述命令中参数:
    -DCMAKE_INSTALL_PREFIX=/usr/local/mysql        --安装目录
    -DINSTALL_DATADIR=/usr/local/mysql/data        --数据库存放目录
    -DDEFAULT_CHARSET=utf8                       --使用utf8字符
    -DDEFAULT_COLLATION=utf8_general_ci            --校验字符
    -DEXTRA_CHARSETS=all                          --安装所有扩展字符集
    -DENABLED_LOCAL_INFILE=1                      --允许从本地导入数据

  # make
  # make install

 --注:
   重新编译时,需要清除旧的对象文件和缓存信息。
  # make clean
  # rm -f CMakeCache.txt
  # rm -rf /etc/my.cnf

2.配置及管理
1)设置目录权限

  # cd /usr/local/mysql
  # chown -R root:mysql . //把当前目录中所有文件的所有者所有者设为root,所属组为mysql
  # chown -R mysql:mysql data

2)拷贝mysql参数文件

  # cp support-files/my-medium.cnf /etc/my.cnf 

3)初始化数据库(创建系统数据库)

  # cd /usr/local/mysql
  # scripts/mysql_install_db --user=mysql

4)设置环境变量
 
  # vi /root/.bash_profile
  PATH=$PATH:$HOME/bin:/usr/local/mysql/bin:/usr/local/mysql/lib
  #source /root/.bash_profile

5)手动启动和关闭mysql
  --启动mysql
  # cd /usr/local/mysql
  # ./bin/mysqld_safe --user=mysql &   --启动mysql,但不能用该命令停止mysql,启动日志写在此文件下:/usr/local/mysql/data/localhost.err
  --关闭MySQL服务
  # mysqladmin -u root -p shutdown    --此时,mysql root用户还没有设置密码,所以为空。输入密码时,直接点回车键即可。

6)通过服务启动和关闭mysql(前提是,mysql已添加至系统服务中)

  # service mysql.server start  
  # service mysql.server stop
  # service mysql.server restart
  --如运行上述命令时出现:mysql.server 未识别的服务信息,则可能是mysql未添加至系统服务所导致,可通过如下方法添加。

  # cp support-files/mysql.server  /etc/init.d/mysql --将mysql.server拷贝至系统服务目录/etc/init.d中,并将其命名为mysql
  # chkconfig --add mysql
  # chkconfig --list
  --将mysql服务设定为3、5等级自动启动
  # chkconfig --level 35 mysql on
  --将mysql服务设定为2、3、4、5等级自动启动
  # chkconfig mysql on
  --注:
    有些系统中,mysql.server在/usr/local/mysql/share/mysql/目录下,而非本文中的/usr/local/mysql/support-files/目录下。

7)修改mysql用户root密码以及开启远程连接授权
  # mysql -u root mysql
  mysql> use mysql;
  mysql> desc user;
  mysql> GRANT ALL PRIVILEGES ON *.* TO root@"%" IDENTIFIED BY "root";    --开启用户root远程连接权限
  or 
  mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '******' WITH GRANT OPTION;      --如不能进行远程连接,且报出错误mysql error number 1130
  mysql> update user set Password = password('xxxxxx') where User='root';   --更改用户root密码
  mysql> select Host,User,Password  from user where User='root'; 
  mysql> flush privileges;
  mysql> exit
  --注:
    如果还不能进行远程连接,可以关闭防火墙试试,命令如下。
    # /etc/rc.d/init.d/iptables stop

10-09 11:57