#######Redhat6.5源码编译安装Mysql########
实验环境:1.IP:172.25.8.32.磁盘要大于20G先添加一块大于20G的磁盘fdisk /dev/vdb ##得到/dev/vdb1 8e linuxpvcreate /dev/vdb1 ##把物理分区做成物理卷vgextend vg_server1 /dev/vdb1 ##把新建立的/dev/vdb1添加到vg_server1中lvextend -L 20G /dev/vg_server1/lv_root ##扩大lvm扩展到到20Gresize2fs /dev/vg_server1/lv_root ##格式化文件系统实验内容:
1.清理环境rpm -qa|grep mysql ##检查mysql版本rpm -e|grep mysql ##卸载mysql2.安装安装包:
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 installuseradd -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.cnfcp /etc/my.cnf /etc/my.cnf.rpm ##备份一份my.cnf,为my.cnf.rpmcp /usr/local/lnmp/mysql/support-files/mysql.server /etc/init.d/mysqld ##mysql启动脚本复制到/etc/init.d/vim ~~/.bash_profile ##编辑文件,指定环境变量,在PATH后面添加冒号 :/usr/local/lnmp/mysql/binsource .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> alter user root@localhost identified by 'westos'; 之后在使用新密码登录补充:mysql忘记密码ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)1.vim /etc/my.cnf[mysqld]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' identified by 'redhat' with grant option;mysql> flush privileges;4.vim /etc/my.cnf[mysqld]#skip-grant-tables ##注释这句或者删除5.重启mysqld服务
6.mysql -uroot -predhat 即可登录成功