CentOS7中源码编译安装MySQL5.7.x

  以下是我自己在安装过程中整理出来的安装步骤和经验

-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

1.在系统中创建文件夹管理mysql安装包 mkdir /usr/mysql

  下载    wget http://cdn.mysql.com/Downloads/MySQL-5.7/mysql-5.7.13.tar.gz  
  解压    tar -zxvf mysql-5.7.13.tar.gz

---------------------------------------------------------------------------------------------------------------------------------

2、安装编译时依赖的包

                       yum install cmake
                       yum install make
                       yum install gcc
                       yum install gcc-c++
                       yum install ncurses
                       yum install ncurses-devel
                       yum install perl-Data-Dumper
                       yum install libicu-devel
                       yum install libquadmath-devel
                       yum install python-devel
                       yum install bzip2-devel
                       yum install bison

如果出错,请更换yum源,因为CentOS默认的yum源是国外的,有可能造成网络访问的原因,
更换yum源的步骤如下,(过程的快慢依赖与你的网络环境,我们公司的网络是龟速)
        1、进入源文件夹
        cd /etc/yum.repos.d/
        2.下载源repo,请按照对应版本下载(我这里下载的是网易的,你也可以下载其他的)
        wget http://mirrors.163.com/.help/CentOS7-Base-163.repo
        3.备份Base.repo
        mv CentOS-Base.repo CentOS-Base.repo.bk
          替换Base.repo
        mv CentOS7-Base-163.repo CentOS-Base.repo
        4.清空缓存,并重新生成yum缓存
          yum clean all
          yum update
------------------------------------------------------------------------------------------------------------------------------

3、下载boost类库,mysql5版本以上的源码安装都需要boost类库,MySQL5.7.x需要boost1.59以上。  cd /usr/local/src/
           wget http://jaist.dl.sourceforge.net/project/boost/boost/1.59.0/boost_1_59_0.zip  
          unzip boost_1_59_0.zip  
          cd boost_1_59_0  
          ./bootstrap.sh
         ./b2   #编译boost包
         ./b2 install

-------------------------------------------------------------------------------------------------------------------------------------

4、清除MariaDB,系统安装完成后,默认安装了mariadb-libs包,需要先清除掉,因依赖关系,系统会同时删除掉postfix。

          yum remove mariadb-libs

--------------------------------------------------------------------------------------------------------------------------------------

5、设置预编译参数,更多的预编译参数请参考http://dev.mysql.com/doc/refman/5.7/en/source-configuration-options.html#cmake-general-options

                     cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
                                    -DMYSQL_DATADIR=/usr/local/mysql/data \
                                    -DWITH_BOOST=/usr/local/src/boost_1_59_0 \
                                    -DSYSCONFDIR=/etc \
                                    -DEFAULT_CHARSET=utf8mb4 \
                                    -DDEFAULT_COLLATION=utf8mb4_general_ci \
                                    -DENABLED_LOCAL_INFILE=1 \
                                    -DEXTRA_CHARSETS=all

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------

6、编译并安装(这一步需要花费很长时间,依赖于你的机器好坏,兄弟我花了3个小时(不过我是在虚拟机上干的),
   表示mysql真的需要优化编译操作了,有些时候貌似停在那不动了,别担心那不是编译当掉了。
   只需等待即可,千万别终止操作,否则会从头再来,想想就发憷)

                     make -j `grep processor /proc/cpuinfo | wc -l`
                     make install
 
                     -j参数表示根据CPU核数指定编译时的线程数,可以加快编译速度。默认为1个线程编译,经测试单核CPU,1G的内存,编译完需要将近1个小时
 
                  注意事项:如果中途编译失败了,需要删除cmake生成的预编译配置参数的缓存文件和make编译后生成的文件,再重新编译。
                  rm -f CMakeCache.txt
                  make clean

以下是我编译过程中停顿比较久的几步(好像带有 item_geofunc都比较久)

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

7、新建mysql组和用户并且把安装目录授权给mysql用户,一般mysql都是通过mysql用户来进行管理的
    groupadd mysql    
    useradd -r -g mysql mysql
    chown -R mysql.mysql /usr/local/mysql/

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------

8、设置配置文件
   cp support-files/my-default.cnf /etc/my.cnf

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

9、设置编码集为utf-8
   vim /etc/my.conf
   把以下配置写入配置文件(设置这一步是为了防止初始化数据库的时候报字符集的错)
   [client]
   default-character-set = utf8

   [mysqld]
   character_set_server=utf8

   default-storage-engine=INNODB

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------

10、初始化数据库
  cd /usr/local/mysql
  ./bin/mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

  ./bin/mysql_ssl_rsa_setup

-------------------------------------------------------------------------------------------------------------------------------------------------------------------

11、配置mysql服务,并设置开机启动
   cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
   chkconfig --add mysqld   # 添加到系统服务
   chkconfig mysqld on  # 开机启动

---------------------------------------------------------------------------------------------------------------------------------------------------------------------

12、启停服务
   service mysqld start   # 启动mysql服务
   service mysqld stop        # 停止mysql服务
   service mysqld restart     # 重新启动mysql服务

----------------------------------------------------------------------------------------------------------------------------------------------------------------------

13、给mysql命令建立连接,由于系统的默认命令都是在/usr/bin中找的,所以需要建立连接(其他的mysql命令同样也可以这样设置)
    ln -s /usr/local/mysql/bin/mysql /usr/bin
    ln -s /usr/local/mysql/bin/mysqld /usr/bin
    ln -s /usr/local/mysql/bin/mysqladmin /usr/bin
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------

---------------------------------------------------------------------------------------------------测试登陆-------------------------------------------------------------------------------------------------------------
好了,你可以试试能不能登陆了,使用mysql -u root  登陆mysql 如果需要密码(安装时视版本和情况会自动设置初始密码,我的没有)
如果登陆不上需要密码就看下~/.mysql_secre文件里面的日志,里面有密码记录。

----------------------------------------------------------------------------------------------测试在win7上用navicat连接mysql------------------------------------------------------------------------------

想要在win7中用navicat连接远程主机上的mysql需要远程主机开启mysql的端口,以及80端口,22端口

firewall-cmd --zone=public --add-port=3306/tcp --permanent

firewall-cmd --zone=public --add-port=80/tcp --permanent

firewall-cmd --zone=public --add-port=22/tcp --permanent


然后设置navicat如下图(需要设置SSH连接)






Host Name/IP Address  :你的主机ip

User name :连接mysql的用户名

----------------------------------------------------------------------------------------------navicat不使用ssh进行连接CentOS中的mysql-------------------------------------

想要开启不加密的传输,需要使用

iptables -I INPUT -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT 
需要开放3306端口

这样就可以使用不加密的普通传输协议,只需要设置一个常规参数就可以连接上了


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值