heberoxx 发表于 2018-10-10 09:29:21

linux学习笔记——源码编译安装Mysql

  #######Redhat6.5源码编译安装Mysql########
  实验环境:
  1.IP:172.25.8.3
  2.磁盘要大于20G
  先添加一块大于20G的磁盘
  fdisk /dev/vdb      ##得到/dev/vdb1 8e linux
  pvcreate /dev/vdb1    ##把物理分区做成物理卷
  vgextend vg_server1 /dev/vdb1    ##把新建立的/dev/vdb1添加到vg_server1中
  lvextend -L 20G /dev/vg_server1/lv_root    ##扩大lvm扩展到到20G
  resize2fs /dev/vg_server1/lv_root    ##格式化文件系统
  实验内容:
  1.清理环境
  rpm -qa|grep mysql    ##检查mysql版本
  rpm -e|grep mysql    ##卸载mysql
  2.安装
  安装包:
  mysql-boost-5.7.11.tar.gz    ##boost是一个可移植、提供源代码的c++库
  cmake-2.8.12.2-4.el6.x86_64.rpm    ##新版mysql用cmake编译安装(cmake是一个编译工具,比make高级,通过编写CMakeList.txt文件,然后cmake命令将CMakeList.txt文件转化为make所需的makefile,最后make命令编译源码生成可执行程序或共享库)
  tar zxf mysql-boost-5.7.11.tar.gz      ##进行解压
  yum install -y cmake-2.8.12.2-4.el6.x86_64.rpm    ##进行安装
  yum install -y gcc gcc-c++ make ncurses-devel bison openssl-devel zlib-devel cmake    ##安装包依赖性
  cd /root/mysql-5.7.11                ##进入目录
  cmake \   ##cmake命令安装
  > -DCMAKE_INSTALL_PREFIX=/usr/local/lnmp/mysql \    ##指定mysql安装目录,默认/usr/loacl/mysql
  > -DMYSQL_DATADIR=/usr/local/lnmp/mysql/data \      ##数据文件目录
  > -DMYSQL_UNIX_ADDR=/usr/local/lnmp/mysql/data/mysql.sock \    ##socket文件路径,默认/tmp/mysql.sock
  > -DWITH_MYISAM_STORAGE_ENGINE=1 \    ##安装myisam存储引擎
  > -DWITH_INNOBASE_STORAGE_ENGINE=1 \    ##安装innodb存储引擎
  > -DWITH_BOOST=boost/boost_1_59_0 \    ##boost库
  > -DDEFAULT_CHARSET=utf8 \      ##使用utf8字符
  > -DDEFAULT_COLLATION=utf8_general_ci \    ##校验字符
  > -DEXTRA_CHARSETS=all            ##安装所有扩展字符集
  (rm -f CMakeCache.txt    ##编译过程中缺什么安装什么,多什么删什么,一般在安装包依赖性时解决,这次用于实验没有完全解决
  yum install -y ncurses-devel gcc-c++ bison    ##ncurses-devel字符终端下屏幕控制的基本库 ,gcc-c++)
  make    ##make时间比较长
  make install
  useradd -u 27 -M -d /usr/local/lnmp/mysql/data -s /sbin/nologin mysql    ##-M不要自动建立用户的登入目录
  groupmod -g 27 mysql
  chown mysql.mysql /usr/local/lnmp/mysql -R    ##修改目录所属人和组
  cd /usr/local/lnmp/mysql    ##进入目录
  cp /usr/local/lnmp/mysql/support-files/my-default.cnf /etc/my.cnf    ##覆盖/etc/my.cnf
  cp /etc/my.cnf /etc/my.cnf.rpm    ##备份一份my.cnf,为my.cnf.rpm
  cp /usr/local/lnmp/mysql/support-files/mysql.server /etc/init.d/mysqld    ##mysql启动脚本复制到/etc/init.d/
  vim ~~/.bash_profile    ##编辑文件,指定环境变量,在PATH后面添加冒号 :/usr/local/lnmp/mysql/bin
  source .bash_profile    ##刷新.bash_profile,用echo $PATH查看
  mysql_install_db --user=mysql --basedir=/usr/local/lnmp/mysql --datadir=/usr/local/lnmp/mysql/data
  ##mysql_install_db是一个初始化脚本,用于初始化data目录并且创建那些系统表,同样也会初始化系统表空间并且关联innodb表和数据结构。--user指定为mysqld服务运行用户,--basedir指定安装目录,--datadir指定数据存放目录
  mysql_secure_installation    ##mysql安全配置向导,1)为root添加密码2)删除匿名帐号3)取消root远程登录4)删除test库和对test库访问权限5)刷新授权表使修改生效
  mysql -uroot -predhat 即可登录成功

  若要修改密码:mysql>>  补充:mysql忘记密码
  ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
  1.vim /etc/my.cnf
  
  skip-grant-tables    ##添加这句
  2.重启mysqld服务
  3.mysql命令直接进入重置密码
  mysql> update mysql.user set authentication_string=password('redhat')where user='root'and Host='localhost';
  mysql> flush privileges;

  mysql> grant all on *.* to 'root'@'localhost'>  mysql> flush privileges;
  4.vim /etc/my.cnf
  
  #skip-grant-tables    ##注释这句或者删除
  5.重启mysqld服务
  6.mysql -uroot -predhat 即可登录成功

页: [1]
查看完整版本: linux学习笔记——源码编译安装Mysql