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

浙公网安备 33010602011771号