梦想的生活,就是去新西兰放羊

[LTMP搭建] Centos 6.5 安装 Mysql

接上篇: http://www.cnblogs.com/antarctican/p/3714422.html

 

一、 说明。 Mysql 5.1.73,  Mysql 5.5.39.  

  官方:http://dev.mysql.com/downloads/file.php?id=450523

  (完整过程及详细特征说明,见官方文档 http://dev.mysql.com/doc/refman/5.1/zh/installing.html

   典型配置选项:http://dev.mysql.com/doc/refman/5.1/zh/installing.html#configure-options )

 

   通过 # uname -a 命令查看当前计算器CPU 版本, 我的为 i686:

  Linux localhost.localdomain 2.6.32-431.el6.i686 #1 SMP Fri Nov 22 00:26:36 UTC 2013 i686 i686 i386 GNU/Linux 

    我使用的版本 http://cdn.mysql.com/Downloads/MySQL-5.1/mysql-5.1.73-linux-i686-glibc23.tar.gz 无需编译

  

二、 创建用户和组

[root@localhost src]# groupadd mysql
[root@localhost src]# useradd -s /sbin/nologin -M -g mysql mysql    ### 不能登录,无home目录,属于mysql组

 

 

三、 (A).  非编译安装.

  1. 安装

[root@localhost src]# wget -c http://cdn.mysql.com/Downloads/MySQL-5.1/mysql-5.1.73-linux-i686-glibc23.tar.gz
[root@localhost src]# tar -zxvf mysql/mysql-5.1.73-linux-i686-glibc23.tar.gz -C /usr/local/mysql
[root@localhost src]# cp /usr/local/mysql/support-files/my-medium.cnf /etc/my.cnf

  2、授权及初始化等常规配置

[root@localhost /]# cd /usr/local/mysql

[root@localhost mysql]# chown -R root:mysql .

[root@localhost mysql]# chown -R mysql:mysql data
#### 复制 server 
[root@localhost mysql]# cp -r /usr/local/mysql/support-files/mysql.server /usr/local/mysql
[root@localhost mysql]# cp -r /usr/local/mysql/support-files/mysql.server /etc/mysql.d/mysqld
#### 运行以下内容时,可能发生异常, 处理方式在说明文字里
[root@localhost mysql]# /usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data & 
[root@localhost mysql]# bin/mysqld_safe --user=mysql & 

PATH=$PATH:$HOME/bin:/usr/local/mysql/bin:/usr/local/mysql/lib                #### 添加到mysql/bin、 mysql/lib到环境变量

#### 创建启动连接,并加入开机启动,可以 chkconfig --list  查看

[root@localhost Desktop]# ln -s /usr/local/mysql/mysql.server /etc/rc.d/init.d/mysql

[root@localhost Desktop]# cd /etc/rc.d/init.d/

[root@localhost init.d]# chkconfig --add mysql


#### 创建mysql命令。 当我们直接运行 mysql 命令时,系统默认会到 /usr/bin 下查找 command,此时提示 command not found。所以建立链接
[root@localhost mysql]# ln -s /usr/local/mysql/bin/mysql /usr/bin

 

  

 

三、 (B).  编译安装(非 cmake方式)及参数:(仅参考)

  1.  下载并安装

[root@localhost src]# wget -c http://cdn.mysql.com/Downloads/MySQL-5.1/mysql-5.1.73-linux******    
[root@localhost src]# tar -zvxf mysql-5.1.73-linux-i686-glibc23.tar.gz
[root@localhost src]# cd mysql-5.1.73-linux-i686-glibc23

# cmake 工具安装可参见 http://www.blogjava.net/kelly859/archive/2012/09/04/387005.html。 
# ./configure 
--prefix=/usr/local/mysql              ## 
--libexecdir=/usr/local/mysql/mysqld       ## mysqld目录
--sysconfdir=/etc/mysql/              ## my.cnf位置
--localstatdir=/usr/local/mysql/data       ## 指定数据和日志目录,省略则默认为 “/var/lib/mysql”
--without-debug                    ## 关闭debug
--with-extra-charsets=all              ## 默认all。 
--with-charset=utf8                 ## 设置默认字符集
--with-collation=utf8_general_ci          ## 设置默认校对字符集
--enable-assembler                  ## 允许使用汇编模式(优化性能)
--with-pthread                    ## 强制使用pthread库程序编译
--enable-thread-safe-client            ## 如果客户端使用线程,设此项来编译线程安全版的MySQL客户端
--with-big-tables                  ## 构建支持大数据库表(>4G)的mysql
--with-readline                  
--with-ssl                           ## 可指定路径
--with-embedded-server               ## 构建嵌入式MySQL库 (libmysqld.a)
--enable-local-infile
--with-plugins=innobase,myisam,csv,partition
--with-mysqld-user=mysql              ## 运行用户              
#### 其他选项
--with-innodb                     ## 可省略。 5.1 起默认
--with-tcp-port=3306
--without-server                   ## 只编译MySQL客户端库和客户端程序
#### 如果要编译静态链接程序(例如,制作二进制分发版、获得更快的速度或与解决与RedHat分发版的一些问题)
--with-client-ldflags=-all-static
--with-mysqld-ldflags=-all-static


#### 整理为
./configure --prefix=/usr/local/mysql --libexecdir=/usr/local/mysql/mysqld --sysconfdir=/etc/mysql/ --localstatdir=/usr/local/mysql/data --without-debug --with-extra-charsets=all --with-charset=utf8 --with-collation=utf8_general_ci --enable-assembler --with-pthread --enable-thread-safe-client --with-big-tables --with-readline --with-ssl --with-embedded-server --enable-local-infile --with-plugins=innobase,myisam,csv,partition --with-mysqld-user=mysql --with-innodb --with-tcp-port=3306 --without-server --with-client-ldflags=-all-static --with-mysqld-ldflags=-all-static 

# make test
# make && make install

 

  2、授权及初始化配置 ( 未测试 ) 可参照#非编译安装#步骤2.

  警告:如果安装完毕创建表之后改变字符集, 必须对每个表运行 myisamchk -r -q --set-character-set=charset ,否则索引可能不正确地排序

  安装完毕,user表中有几个不同host的root用户,可以通过mysql语句更改。

 

 三、(C)RPM安装 ( 此方法是在CentOS 7 64bit编译时补充   ,  过于简单,高手可能会感到轻度不适)

  (目前低版本的多提供tar,5.5.x版本的基本为RPM包)

  # yum install libaio.x86_64               // 这是Mysql依赖的

  # rpm -ivh  http://dev.mysql.com/get/Downloads/MySQL-5.5/MySQL-server-5.5.39-2.el7.x86_64.rpm      

   §  默认安装到 /usr/share/mysql,  本想加  --prefix=/usr/local/mysql  指定安装位置,但会提示: 

      error: package MySQL-server is not relocatable   

    通过命令查看 # rpm -qpi MySQL-server-5.5.39-2.el7.x86_64.rpm 

      Relocations : (not relocatable) 

   § 另外由于与 mariadb-libs 目录冲突,为此我还先卸载了 mariadb-libs

 

  RPM方法安装完成后:

     已复制并重命名了 mysql.server 到 /etc/rc.d/init.d/mysql ;

     已执行了 chkconfig --level 2345 mysql on;

  需要:

    # cd /usr/share/mysql
    # chown -R root:mysql .
    # chown -R mysql:mysql /data/mysql

    # cp /usr/share/mysql/my-large.cnf /etc/my.cnf 

      可自定义 datadir = /data/mysql

 

  

  § 如果要在本地查询mysql, 需要另外装 mysql-client

   # rpm -ivh http://dev.mysql.com/get/Downloads/MySQL-5.5/MySQL-client-5.5.39-2.el7.x86_64.rpm

   安装完成可直接使用 # mysql 进入查询。

    

 

 

四、 其他

  更改mysql 默认用户 root@x

  mysql> use mysql;

  mysql> DELETE FROM user WHERE user='root' AND host NOT IN ('localhost', '127.0.0.1');

  mysql> UPDATE user SET password=PASSWORD('123456') WHERE user='root';

 

 

 

   参见下篇: http://www.cnblogs.com/antarctican/p/3752812.html

 

posted @ 2014-05-23 18:38  Shautch Donne  阅读(547)  评论(0编辑  收藏  举报