最近开始学习php,很都书籍里都是mysql,于是也把mysql部署出来了,其实一个不同就是发现mysql转到cmake
平台下了… 那下面分享出我的脚本…
 
[plain] view plaincopyprint?
echo
“=========================================================================” 
echo “mysql install shell script for CentOS/RadHat Written by Qzi” 
echo “creatred in 2012/3/5” 
echo “last modified in 2012/3/6” 
echo “Email :
[email protected]” 
echo
“=========================================================================” 
echo
“=========================================================================” 
echo “MySQL Version: 5.5.21” 
echo
“=========================================================================” 
o “============================mysql
install==================================” 
LNPP_ROOT=/tmp/lnpp/lnpp-0.05 
MYSQL_VERSION=mysql-5.5.21 
MYSQL_ROOT=$LNPP_ROOT/mysql/$MYSQL_VERSION 
 
if [ -d $MYSQL_VERSION.tar.gz ]; then 
    echo “$MYSQL_VERSION.tar.gz is [found]” 
    else 
#   wget -c
  
echo “” 
fi 
 
if [ -d cmake-2.8.7.tar.gz ]; then 
    echo “cmake-2.8.7.tar.gz is [found]” 
    else 
#   wget -c   
echo “” 
fi 
 
 
mkdir -p $LNPP_ROOT/cmake/cmake-2.8.7 
tar -zxvf cmake-2.8.7.tar.gz 
cd cmake-2.8.7 
./bootstrap  –prefix=$LNPP_ROOT/cmake/cmake-2.8.7 
make  
make install  
cd ../ 
 
mkdir -p $MYSQL_ROOT/etc 
mkdir -p $MYSQL_ROOT/data 
tar -zxvf $MYSQL_VERSION.tar.gz 
cd $MYSQL_VERSION 
$LNPP_ROOT/cmake/cmake-2.8.7/bin/cmake \ 
        -DCMAKE_INSTALL_PREFIX=$MYSQL_ROOT \ 
        -DMYSQL_DATADIR=$MYSQL_ROOT/data \ 
        -DSYSCONFDIR=$MYSQL_ROOT/etc \ 
        -DWITH_MYISAM_STORAGE_ENGINE=1 \ 
        -DWITH_INNOBASE_STORAGE_ENGINE=1 \ 
        -DWITH_ARCHIVE_STORAGE_ENGINE=1 \ 
        -DWITH_BLACKHOLE_STORAGE_ENGINE=1 \ 
        -DENABLED_LOCAL_INFILE=1 \ 
        -DDEFAULT_CHARSET=utf8 \ 
        -DDEFAULT_COLLATION=utf8_general_ci \ 
        -DEXTRA_CHARSETS=all \ 
        #-DMYSQL_USER=mysql 
        -DMYSQL_TCP_PORT=3306 
make 
make install 
 
if [ $(id -nu mysql) = “mysql” ]; then 
  echo “user mysql is found … ” 
  else 
  echo “creating the user called ‘mysql'” 
  su – -c “useradd -M mysql” 
fi 
 
cp support-files/my-small.cnf $MYSQL_ROOT/etc/my.cnf 
chmod 755 $MYSQL_ROOT/scripts/mysql_install_db 
$MYSQL_ROOT/scripts/mysql_install_db –user=mysql
–basedir=$MYSQL_ROOT –datadir=$MYSQL_ROOT/data 
#chmod +x /etc/init.d/mysqld 
#cp support-files/mysql.server /etc/init.d/mysqld 
 
echo “============================mysql
install==================================” 
 
配置:
#vim $MYSQL_ROOT/etc/my.cnf
[mysqld]
datadir=/tmp/lnpp/lnpp-0.05/mysql/mysql-5.5.21/data
 
启动
#$MYSQL_ROOT/support-files/mysql.server start
 
建立了一个linux +php群,欢迎一起学习(QQ群号:213572677)

Mysql 5.6 源码编译安装,mysql5.6源码编译

简介:

多余的话不说,就是源码安装 Mysql 5.6 ,机器内存 512 MB ,系统 CentOS 6.6
,安装方式 minimal !

1、安装底层支持包

shell > yum -y install gcc gcc-c++ wget make cmake ncurses-devel bison

2、创建用户、组

shell > useradd -r mysql

3、下载、安装 Mysql

ftp://mirror.switch.ch/mirror/mysql/Downloads/MySQL-5.6/ ## 下载地址

ftp://mirror.switch.ch/mirror/mysql/Downloads/MySQL-5.6/mysql-5.6.25.tar.gz

shell > cd /usr/local/src
shell > tar zxf mysql-5.6.25.tar.gz
shell > cd mysql-5.6.25
shell > cmake .
shell > make ; make install

## Cmake 参数参考地址:http://dev.mysql.com/doc/refman/5.6/en/source-configuration-options.html

-DCMAKE_INSTALL_PREFIX=dir_name         ## Mysql 安装位置( 默认位置 )
-DMYSQL_DATADIR=dir_name                ## Mysql 数据库存放位置
-DMYSQL_TCP_PORT=port                   ## Mysql 监听端口
-DDEFAULT_CHARSET=utf8                  ## Mysql 数据库默认字符集
-DSYSCONFDIR=dir_name                   ## Mysql 配置文件存放位置
-DMYSQL_UNIX_ADDR=/tmp/mysql_v5.sock    ## SOCK 文件存放位置

## 等等... 还有好多,不一一列举了。cmake . 表示使用默认设置,可以看参考地址中的 default 选项

shell > cd /usr/local/
shell > chown -R root:mysql mysql/
shell > chown -R mysql mysql/data/

shell > cp mysql/support-files/mysql.server /etc/init.d/mysqld
shell > cp mysql/support-files/my-default.cnf /etc/my.cnf

shell > ./mysql/scripts/mysql_install_db --user=mysql --datadir=/usr/local/mysql/data/ --basedir=/usr/local/mysql/

shell > cd
shell > echo "PATH=$PATH:/usr/local/mysql/bin/" >> /etc/profile
shell > source /etc/profile

4、启动 Mysql

shell > service mysqld start

shell > netstat -lnpt | grep 3306
tcp 0 0 :::3306 :::* LISTEN 16206/mysqld

## 可以看到已经启动成功

## 下面这是我上次在阿里云主机上部署 Mysql ,启动时报的错:

Starting MySQL...The server quit without updating PID file [FAILED]cal/mysql/data/Mysql.com.pid).

## 无法启动,日志中报错大致意思为内存不足( 需要大于/等于 1G )~~ 这次没有问题..

## 后来我找了一个 Mysql 5.5 版本中提供的小内存的配置文件,就可以启动了!

5、安装完成,测试

shell > mysql  ## 第一次登陆直接输入 mysql 命令即可登陆( 我记得 5.6 默认会有 root 密码的,存放在 root 用户下一个隐藏文件中,这次没有~~ )

shell > mysqladmin -uroot -p password 888888 ## 888888 为设置的新密码,下面直接回车
Enter password:
Warning: Using a password on the command line interface can be insecure. ## 修改密码,输出一个警告信息,提示密码放在命令行不安全~~

shell > mysql -uroot -p888888  ## 再次登陆 Mysql

mysql> update mysql.user set password=password('123456') where user='root';
Query OK, 4 rows affected (0.05 sec)
Rows matched: 4 Changed: 4 Warnings: 0

mysql> flush privileges;
Query OK, 0 rows affected (0.02 sec)

## 第二种修改密码的方式

mysql> grant all on *.* to [email protected]'%' identified by '666'; ## 授权 root 用户可以从任意地址登陆,密码为 666
Query OK, 0 rows affected (0.04 sec)

shell > mysql -uroot -h 192.168.214.20 -p666

## grant 这种操作不需要执行 flush 操作,不过建议还是 flush 一下比较好~~

## 忘记 root 密码时的解决步骤

shell > /etc/init.d/mysqld stop

shell > /usr/local/mysql/bin/mysqld_safe --skip-grant-table & ## 跳过授权表启动 Mysql

shell > mysql ## 又可以欢快的无密码登陆数据库了~~

mysql> update mysql.user set password=password('123456') where user='root';

mysql> flush privileges;
Query OK, 0 rows affected (0.04 sec)

5.6 源码编译安装,mysql5.6源码编译 简介:
多余的话不说,就是源码安装 Mysql 5.6 ,机器内存 512 MB ,系统 CentOS 6.6
,安装方式 minimal !…

相关文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图