接上篇: 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