centos 7编译安装mysql 5.7.20

1. 下载mysql 5.7.20源码包
       wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.20.tar.gz
下载boost -----这个版本的MySQL要求boost的版本是1.59
wget --no-check-certificate http://sourceforge.net/projects/boost/files/boost/1.59.0/boost_1_59_0.tar.gz
2. 安装mysql依赖包
       yum install -y cmake bison bison-devel libaio-devel gcc gcc-c++ git  ncurses-devel
3. 解压mysql源码包
       tar -zxvf mysql-5.7.20.tar.gz
       将boost的压缩包移动至解压后的源文件目录内:
       mv boost_1_65_1.tar.gz  ./mysql-5.7.20
      cd mysql-5.7.20
      mkdir configure
       cd configure
4. 生成编译环境
     cmake .. -DBUILD_CONFIG=mysql_release \
    -DINSTALL_LAYOUT=STANDALONE \
    -DCMAKE_BUILD_TYPE=RelWithDebInfo \
    -DENABLE_DTRACE=OFF \
    -DWITH_EMBEDDED_SERVER=OFF \
    -DWITH_INNODB_MEMCACHED=ON \
    -DWITH_SSL=bundled \
    -DWITH_ZLIB=system \
    -DWITH_PAM=ON \
    -DCMAKE_INSTALL_PREFIX=/var/mysql/ \
    -DINSTALL_PLUGINDIR="/var/mysql/lib/plugin" \
    -DDEFAULT_CHARSET=utf8 \
    -DDEFAULT_COLLATION=utf8_general_ci \
    -DWITH_EDITLINE=bundled \
    -DFEATURE_SET=community \
    -DCOMPILATION_COMMENT="MySQL Server (GPL)" \
    -DWITH_DEBUG=OFF \
    -DWITH_BOOST=..

如果编译出现错误,请先删除CMakeCache.txt后,再重新编译:
rm -rf CMakeCache.txt

如果出现下面的提示就表示成功生成了编译环境:
-- Configuring done
-- Generating done
5. make &&  make install
    编译,安装mysql------在进行cmake后可使用$?---输出0则生成编译环境没问题(其他数字则生成编译环境有问题),make和make install一样可以用$?来判断是否编译和安装成功
6. 开始初始化数据库
       (一)、添加mysql用户:
                useradd -s /sbin/nologin mysql

        (二)、新建数据库文件夹及日志文件夹,并更改用户为mysql:
                mkdir /mysql_data
                mkdir /var/mysql/log
                chown -R mysql:mysql /mysql_data/
                chown -R mysql:mysql /var/mysql/log

        (三)、修改配置文件
                vim /etc/my.cnf

                将[mysqld]项下的内容替换为:
                [mysqld]
                port=3306
                datadir=/mysql_data
                log_error=/var/mysql/log/error.log
                basedir=/var/mysql/
      (四)、初始化数据库:
                /var/mysql/bin/mysqld  --initialize --user=mysql
                   ll /mysql_data/
                   ll /var/mysql/log/   -----查看是否生成文件

7. 配置启动文件和环境变量
(一)、配置启动文件       1. 从模板文件中复制启动文件:         cp /var/mysql/support-files/mysql.server /etc/init.d/mysqld       2. 修改启动文件:         vim /etc/init.d/mysqld         找到如下二行:         basedir=         datadir=         修改为:         basedir=/var/mysql/         datadir=/mysql_data         3. 启动mysql:         [root@localhost mysql]# /etc/init.d/mysqld start          Starting MySQL. SUCCESS!         可以看到提示,已经成功启动。当然你也可以使用systemctl来启动MySQL,但执行后,不会有任何提示。         [root@localhost ~]# systemctl start mysqld         设置MySQL开机自动启动:         [root@localhost ~]# systemctl enable mysqld          mysqld.service is not a native service, redirecting to /sbin/chkconfig.          Executing /sbin/chkconfig mysqld on ------如启动报如下错误
mkdir /var/log/mariadb---->touch /var/log/mariadb/mariadb.log ---->chown -R mysql.mysql /var/log/mariadb
              配置MySQL环境变量:
          vim /root/.bash_profile

          找到下面一行:
          PATH=$PATH:$HOME/bin

          修改为:
          PATH=$PATH:$HOME/bin:/var/mysql/bin
source ~/.bash_profile -----为了不用绝对路劲登录mysql(source修改后立即生效)
8. 修改root用户登录mysql的初始密码
      1. 查看root的初始密码 
        MySQL从5.7开始不支持安装后使用空密码进行登录,因此在这里需要先查询程序生成的临时密码:
[root@www configure]# cat /var/mysql/log/error.log | grep 'A temporary'
2018-07-16T02:06:22.271664Z 1 [Note] A temporary password is generated for root@localhost: YA-o:Hr.w90a

        最后一行冒号后面的部分YA-o:Hr.w90a就是初始密码。 
        2. 登录MySQL并修改初始密码: 
            使用初始密码登录MySQL:
[root@localhost ~]# mysql -uroot -p
Enter password:

            登录后立即修改root密码:
mysql> alter user 'root'@'localhost' identified by '密码';
Query OK, 0 rows affected (0.00 sec)
 如不修改初始密码是无法使用mysql的.-----如下图           

  

  

  

  

  

  

  

  

猜你喜欢

转载自www.cnblogs.com/The-day-of-the-wind/p/9316725.html