这两天在青岛,冬天的青岛有点冷,人比较少,所以适合拍照,拍了不少照片,也算给青岛之旅,画上了完美的句号。
言归正传,我们来看看mysql的rpm包安装,之后来看一下源码编译,包括SRPM源码包安装三种安装方式:
mysql 5.6.17 RPM的安装: 一、yum 安装mysql 注:安装前最后先删除/etc/my.cnf文件 yum localinstall MySQL-* 安装完毕后 它会在 ~/.mysql_secret的文件,该文件存储着第一次的随机密码。 head -1 .mysql_secret| awk -F: '{print $NF}' 当第一次登录时,需要使用密码。登录mysql之后必须修改密码才可以其它操作: set password=password("123"); 安装完毕后会在/usr/bin/产生一个mysql的安全机制文件: /usr/bin/mysql_secure_installation 二、源码包安装mysql 5.6.17
mysql5.6.17 的源码包安装: cmake . 默认源码包编译 useradd -r -s /sbin/nologin mysql yum -y install gcc gcc-c cmake ncurses-devel cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DDEFAULT_CHARSET=utf8 -DENABLE_LOCAL_INFILE 例: cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/var/lib/mysql -DSYSCONFDIR=/etc -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_FEDERATED_STORAGE_ENGINE=1 -DWITH_PARTITION_STORAGE_ENGINE=1 -DMYSQL_UNIX_ADDR=/tmp/mysqld.sock -DENABLED_LOCAL_INFILE=1 -DEXTRA_CHARSETS=all -DMYSQL_USER=mysql 说明: DENABLE_LOCAL_INFILE 表示mysql可以读取外部文件 DDEFAULT_CHARSET 指定字符集 DEXTRA_CHARSETS=all 扩展字符集 DMYSQL_UNIX_ADDR 指定socket文件的位置 DWITH_INNOBASE_STORAGE_ENGINE 指定是否支持innodb存储引擎 (默认支持) DWITH_ARCHIVE_STORAGE_ENGINE 指定是否支持archive存储引擎(默认支持) DWITH_INNODB_MEMCACHED 指定是否支持memcached DWITH_BLACKHOLE_STORAGE_ENGINE指定是否支持blackhole存储引擎(默认支持) DWITH_FEDERATED_STORAGE_ENGINE指定是否支持federated存储引擎 DWITH_PARTITION_STORAGE_ENGINE指定是否支持数据库分区功能 DWITH_PERFSCHEMA_STORAGE_ENGINE指定是否支持perfschema存储引擎(默认支持) gmake make install cd /usr/local/mysql/ cp support-file/mysql.server /etc/init.d/mysql #mysql服务启动脚本 cp support-file/my-default.cnf /etc/my.cnf #mysql的配置文件 vim /etc/my.cnf basedir = /usr/local/mysql datadir = /var/lib/mysql # 如果安装时未指定,它默认在/usr/local/mysql/data目录中。 port = 3306 socket = /tmp/mysqld.sock
mkdir /var/lib/mysql chown mysql. /var/lib/mysql
cd /usr/local/mysql/scripts/ ./mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/var/lib/mysql --no-defaults #安装默认的mysql系统库
ls /var/lib/mysql/ service mysql start
测试登录 vim ~/.bash_profile PATH= :/usr/local/mysql/bin source ~/.bash_profile 当然可以设置 /etc/bashrc,添加 PATH=$PATH:/usr/local/mysql/bin,这样针对所有用户生效。 如果使用install文件中的shell代码安装,安装完毕后需要重新安装系统数据库。 三、mysql5.6.17 的SRPM源码包安装 # yum -y remove mysql mysql-server cmake # rm -rf /etc/my.cnf # yum -y groupinstall "Development tools" 创建普通用户 cp mysql*.src.rpm /home/普通用户/ chown 普通用户 mysql*.src.rpm yum -y install rpm-build gcc gcc-c cmake ncurses ncurses-devel zlib-devel yum -y install libaio-devel su - 普通用户
rpmbuild ~ #生成环境目录 rpm -ivh mysql*.src.rpm cd rpmbuild/SPEC/ 它会依赖:gperf-3.0.3-9.1.el6.x86_64.rpm和libaio-devel rpmbuild -bb mysql.spec
最后上一张照片,希望大家在新的一年里,可以如海鸥一样,在自己的蓝天自由的翱翔。
照片之后是拍错指南,在你把上面的实验亲自做过之后在看哦。
================================================ 排错:以下现象 [root@node3 lib]# service mysql start Starting MySQL...The server quit without updating PID file (/var/lib/mysql/node3.domain40.example.com.pid). [失败] 解决方法,开启/etc/my.cnf中相关行: [mysqld_safe] log-error=/var/log/mysql.log pid-file=/var/run/mysql/mysqld.pid 如果现象依然存在,可以手工创建: mkdir -p /var/run/mysql |