mysql5.7 数据库编译,以及常用处理

 
 
 
 
官网推荐使用方式:
shell> groupadd mysql
shell> useradd -r -g mysql -s /bin/false mysql
# Beginning of source-build specific instructionsshell> tar zxvf mysql-VERSION.tar.gz
shell> cd mysql-VERSIONshell> mkdir bld
shell> cd bld
shell> cmake ..shell> makeshell> make install
# End of source-build specific instructions# Postinstallation setupshell> cd /usr/local/mysql
shell> mkdir mysql-files
shell> chown mysql:mysql mysql-files
shell> chmod 750 mysql-files
shell> bin/mysqld --initialize --user=mysql
 
 
依赖包安装:
Centos        
        yum install gcc-c++ ncurses-devel cmake make perl gcc autoconf automake zlib libxml ligbcrypt libtool bison
Ubutu 
        apt-get install gcc g++  make autoconf cmake automake libnucruses5-dev libtool
 
 
 
 
 
CENTOS----实际操作:
    
    解压文件包:
        rpm -ivh mysql-community-5.7.18-1.el7.src.rpm
        #cd  用户家目录
        cd rpmbuild/
        cd SOURCES/
    编译boost
        tar xvf boost_1_59_0.tar.bz2
        cd boost
        sh bootstrap.sh
        ./b2
        ./b2 install
        cd ..
    编译安装mysql
        tar xvf mysql-5.7.18.tar.gz
        cd mysql-5.7.18
        mkdir bld 
        cd bld
        cmake .. -DCMAKE_INSTALL_PREFIX=/opt/JMKVCloud/MessageSoft/Mysql -DMYSQL_DATADIR=/opt/JMKVCloud/MessageSoft/Mysql/data -DSYSCONFDIR=/opt/JMKVCloud/MessageSoft/Mysql/conf -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DMYSQL_TCP_PORT=33060 -DMYSQL_UNIX_ADDR=/opt/JMKVCloud/MessageSoft/Mysql/mysql.sock  -DMYSQL_USER=mysql -DEXTRA_CHARSETS=all -DENABLED_LOCAL_INFILE=1
        make-
        make install
 
初始化mysql的文件夹
        mkdir conf
        mkdir data
        mkdir log
        mkdir mysqld
 
其它操作:
        mysql5.7默认没支持centos8,需要将centos7的/usr/include/rpc/下的所有头文件,复制到cento8中的对应位置
        另外需要准备几个基础包:  gcc-c++ ncurses-devel cmake make perl gcc autoconf automake zlib libxml libgcrypt
        实际中下载使用了最新的ncurses,cmake,autoconf,automake,zlib,libgcrypt
 
生成配置文件conf/my.cnf
    配置文件内容如下
[mysqld]
#set time zone
default-time-zone='+8:00'
datadir=/opt/JMKVCloud/MessageSoft/Mysql/data
socket=/opt/JMKVCloud/MessageSoft/Mysql/mysql.sock
symbolic-links=0
log-error=/opt/JMKVCloud/MessageSoft/Mysql/log/mysqld.log
pid-file=/opt/JMKVCloud/MessageSoft/Mysql/mysqld/mysqld.pid
port=33060
# innodb_buffer_pool_size = 128M
# join_buffer_size = 128M
# sort_buffer_size = 2M
# read_rnd_buffer_size = 2M
max_connections=1000
[mysqld_safe]
log-error=/opt/JMKVCloud/MessageSoft/Mysql/log/mysqld_safe.log
pid-file=/opt/JMKVCloud/MessageSoft/Mysql/mysqld/mysqld_safe.pid
 
配置mysql文件夹权限:
        chown -R  mysql.mysql *
 
生成初始数据库:
        bin/mysqld --initialize --user=root  --basedir=/opt/NetServer/MessageSoft/Mysql  --datadir=/opt/NetServer/MessageSoft/Mysql/data
 
启动mysql:
        /opt/JMKVCloud/MessageSoft/Mysql/bin/mysqld_safe  --defaults-file=/opt/JMKVCloud/MessageSoft/Mysql/conf/my.cnf   --user=root &
 
本机连接mysql:
    寻找初始化密码:
            密码在log/mysqld.conf文件中,寻找类似 A temporary password is generated for root@localhost: RLT0rfqaah,K
            标红部分为密码
    连接数据库
            bin/mysql  -uroot -p
 
修改初始数据库密码:
    [root@localhost Mysql]# bin/mysql -uroot -p
    Enter password:
    Welcome to the MySQL monitor.  Commands end with ; or \g.
    Your MySQL connection id is 3
    Server version: 5.7.18
 
    Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved.
 
    Oracle is a registered trademark of Oracle Corporation and/or its
    affiliates. Other names may be trademarks of their respective
    owners.
 
    Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
 
    mysql> show databases;
    ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
 
    mysql> alter user 'root'@'localhost' identified by 'jmuser';
    Query OK, 0 rows affected (0.00 sec)
    mysql> flush privileges;
 
        
        
 
UBUNTU 18   安装CENTOS
            绝大部分操作同上        
 
            更改源码:
                    需要下载ubuntu 18版本的mysql源码
            
            解压源码:
                    ar -x  mysql-community-source_5.7.31-1ubuntu18.04_amd64.deb
                    继续解压data.tar.gz
                    tar -xvf data.tar.xz
                    在文件夹中找源码
                    cd  usr/src/mysql
                    这个文件夹下有三个版本的源码,这里选择了下面版本,用于kylin的编译
                    tar  xvf  mysql-community_5.7.31.orig.tar.gz
 
            编译指令更改了一部分,照理说应该一样
            cmake  -DCMAKE_INSTALL_PREFIX=/opt/NetServer/MessageSoft/Mysql/ -DMYSQL_DATADIR=/opt/NetServer/MessageSoft/Mysql/data -DSYSCONFDIR=/opt/NetServer/MessageSoft/Mysql/conf  -DDEFAULT_CHARSET=utf8  -DDEFAULT_COLLATION=utf8_general_ci -DMYSQL_TCP_PORT=33060 -DMYSQL_UNIX_ADDR=/opt/NetServer/MessageSoft/Mysql/mysql.sock -DMYSQL_USER=mysql -DEXTRA_CHARSETS=all -DENABLED_LOCAL_INFILE=1 -DWITH_SSL=system
    
            make 
            make install
 
 
 
 
 
    
        
 
       
 
 
 
posted @ 2020-12-21 22:46  dos_hello_world  阅读(116)  评论(0)    收藏  举报