发表于 2018-10-11 06:17:10

MySQL编译安装全过程

  环境介绍
  cat /etc/redhat-release
  uname -a         
  
  
  
  安装 lrzsz 软件,这个软件和编译安装 mysql 无关,只是为了方便后面通过 xshell 拖拽其他软件
  yum -y install lrzsz
  
  
  安装 mysql 需要的各种依赖包
  yum -y install ncurses-devel libaio-devel
  
  
  创建 /home/yuci/tools 目录,用于存放各种软件
  mkdir -p /home/yuci/tools      
  
  
  安装 Cmake 软件,mysql 就是通过它编译安装的
  cd /home/yuci/tools/
  tar zxf cmake-2.8.8.tar.gz
  cd cmake-2.8.8
  ./configure && gmake && gmake install
  # 通过 echo $? 检查是否安装成功,返回值为 0,则正确安装。
  
  为 mysql 创建一个同名的伪用户,并检查
  useradd -s /sbin/nologin -M mysql
  id mysql      

  
  编译安装 MySQL
  # 在测试安装 mysql 时发现一个问题,通过 open live writer 复制参数编译失败,但是通过网页却编译成功,我觉得肯定时复制粘贴时“-”出了问题。我的参数肯定是没有错的,如果编译过程中出现报错就手工敲一遍,准保没问题。
  tar zxf mysql-5.5.23      
  cd mysql-5.5.23
  ####################编译安装参数#########################
  cmake . -DCMAKE_INSTALL_PREFIX=/application/mysql-5.5.23 \
  -DMYSQL_DATADIR=/application/mysql-5.5.23/data \
  -DMYSQL_UNIX_ADDR=/application/mysql-5.5.23/tmp/mysql.sock \
  -DDEFAULT_CHARSET=utf8 \
  -DDEFAULT_COLLATION=utf8_general_ci \
  -DEXTRA_CHARSETS=gks,gb2312,utf8,ascii \
  -DENABLED_LOCAL_INFILE=ON \
  -DWITH_INNOBASE_STORAGE_ENGINE=1 \
  -DWITH_FEDERATED_STORAGE_ENGINE=1 \
  -DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
  -DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 \
  -DWITHOUT_PARTITION_STORAGE_ENGINE=1 \
  -DWITH_FAST_MUTEXES=1 \
  -DWITH_ZLIB=bundled \
  -DENABLED_LOCAL_INFILE=1 \
  -DWITH_READLINE=1 \
  -DWITH_EMBEDDED_SERVER=1 \
  -DWITH_DBBUG=0
  ########################################################
  make && make install
  # 通过 echo $? 检查是否安装成功,返回值为 0,则正确安装。
  
  
  给 mysql 创建一个软连接,方便后面的操作
  ln -s /application/mysql-5.5.23/ /application/mysql      

  初始化 mysql
  /application/mysql/scripts/mysql_install_db --basedir=/application/mysql/ --datadir=/application/mysql/data/ --user=mysql

  
  
  给 mysql 目录授权
  chown -R mysql:mysql /application/mysql

  
  拷贝 MySQL 的配置文件。my.cnf
  cp /application/mysql/support-files/my-small.cnf /etc/my.cnf
  y
  
  
  mysqld_safe 是 mysql 的启动脚本,默认的 mysql 安装位置是 /usr/local/mysql ,但是我们的安装路径是 /application/mysql,所以需要通过 sed 更改一下
  sed -i 's#/usr/local/mysql#/application/mysql#g' /application/mysql/bin/mysql
  
  
  尝试启动 mysql 并放入后台执行
  /application/mysql/bin/mysqld_safe &
  
  
  通过 lsof 命令,检查 3306 端口是否启动
  lsof –i :3306

  通过 netstat 命令,再次确认 mysql 已经正常运行
  netstat –tlunp
  
  
  现在 mysql 启动了,但是还需要配置环境变量,才能登陆 mysql
  #编辑 /etc/profile 文件,将下面的变量命令写在文件的最后一行即可,然后执行 source 使其生效
  vim /etc/profile
  PATH="/application/mysql/bin:$PATH"
  source /etc/profile
  
  
  现在尝试在命令行下登录 mysql
  mysql

  
  
  拷贝 mysql 的启动脚本,修改里面的安装路径,添加执行权限,方便 mysql 的重启
  cp /application/mysql/support-files/mysql.server /etc/init.d/mysqld
  sed -i 's#/usr/local/mysql#/application/mysql#g' /etc/init.d/mysqld
  chmod +x /etc/init.d/mysqld
  
  
  通过 killall 命令,将 mysql 进程杀死,直到出现 no process killed
  killall mysqld

  
  
  接下来通过刚才拷贝的脚本启动 mysql 服务
  /etc/init.d/mysqld start

  
  
  在通过 lsof,netstat 命令查看 mysql 是否启动
  lsof –i :3306
  netstat –tlunp

  
  
  最后给 mysql 管理员设定一个密码
  mysqladmin –uroot password “123456”

  
  
  正常登录 mysql,编译安装完成


页: [1]
查看完整版本: MySQL编译安装全过程