当前位置:文档之家› mysql5.7.13源码安装

mysql5.7.13源码安装

注意:mysql安装目录最好不要出现mysql-5.7.13这样的格式,解压后最好重命名

0、源码下载(如果有boost就可以下载mysql-5.7.13.tar.gz,如无,则下载mysql-boost-5.7.13.tar.gz,此源码包含了boost(Includes Boost Headers))
此次下载的mysql-boost-5.7.13.tar.gz

1、安装必须依赖包
cmake,make,gcc,gcc-c++,bison, ncurses,ncurses-devel
检查是否安装:rpm -qa | grep cmake
安装依赖包:
yum install -y cmake
yum install -y bison
yum install -y ncurses*
yum install -y gcc*
yum install -y make
yum install -y git

2、添加用户
groupadd mysql
useradd -g mysql mysql
passwd mysql mysql

3、创建临时目录
mkdir -p /home/tmp_mysql/
chown -R mysql:mysql /home/tmp_mysql/

4、创建数据目录
mkdir -p /var/mysql_data/
chown -R mysql:mysql /var/mysql_data/


5、解压程序
mv /tmp/mysql/mysql-5.7.13.tar.gz /usr/local/
tar zxvf mysql-5.7.13.tar.gz

6、配置mysql预编译参数(--统一操作系统编码export LC_ALL=en_US.UTF-8)
cd /usr/local/mysql-5.7.13

cmake . \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql-5.7.13 \
-DMYSQL_DATADIR=/var/mysql_data \
-DWITH_BOOST=/usr/local/mysql-5.7.13/boost/boost_1_59_0 \
-DSYSCONFDIR=/etc \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DWITH_MEMORY_STORAGE_ENGINE=1 \
-DWITH_FEDERATED_STORAGE_ENGINE=1 \
-DENABLED_LOCAL_INFILE=1 \
-DMYSQL_USER=mysql \
-DWITH_DEBUG=0

/**********************************************************************************************************
-DCMAKE_INSTALL_PREFIX:安装路径
-DMYSQL_DATADIR:数据存放目录
-DWITH_BOOST:boost源码路径
-DSYSCONFDIR:https://www.doczj.com/doc/d67499177.html,f配置文件目录
-DEFAULT_CHARSET:数据库默认字符编码
-DDEFAULT_COLLATION:默认排序规则
-DENABLED_LOCAL_INFILE:允许从本文件导入数据
-DEXTRA_CHARSETS:安装所有字符集
更多预编译配置参数请参考mysql官方文档说明:https://www.doczj.com/doc/d67499177.html,/doc/refman/5.7/en/source-configuration-options.html#cmake-general-options
***********************************************************************************************************/

7、编译并安装
cd /usr/local/mysql-5.7.13

make -j `grep processor /proc/cpuinfo | wc -l` #此方法易丢失数据文件
make #用这个即可
/**************************************************
-j参数表示根据CPU核数指定编译时的线程数,可以加快编译速度。默认为1个线程编译,经测试单核CPU,1G的内存,编译完需要将近1个小时。
可直接make
***************************************************/
make install


8、初始化系统数据库
cd /usr/local/mysql-5.7.13
chown -R mysql:mysql .
# 注意:MySQL 5.7.6之前的版本执行这个脚本初始化系统数据库
./bin/mysql_install_db --user=mysq

l --basedir=/usr/local/mysql-5.7.13 --datadir=/var/mysql_data/
# 5.7.6之后版本初始系统数据库脚本(本文使用此方式初始化)
./bin/mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql-5.7.13 --datadir=/var/mysql_data/
./bin/mysql_ssl_rsa_setup
chown -R root .
chown -R mysql /var/mysql_data
/************************************************************************************************************
注意:如果使用–initialize参数初始化系统数据库之后,会在~/.mysql_secret文件中生成root用户的一个临时密码,同时也在初始化日志中打印出来了
*************************************************************************************************************/


9、设置配置文件
cp support-files/https://www.doczj.com/doc/d67499177.html,f /etc/https://www.doczj.com/doc/d67499177.html,f
vi /etc/https://www.doczj.com/doc/d67499177.html,f

/***************************************************************************
# For advice on how to change settings please see
# https://www.doczj.com/doc/d67499177.html,/doc/refman/5.7/en/server-configuration-defaults.html
[client]
default-character-set=utf8


[mysql]
default-character-set=utf8
socket = /var/lib/mysql/mysql.sock

[mysqld]
character-set-server=utf8
collation-server=utf8_general_ci
#
# Remove leading # and set to the amount of RAM for the most important data
# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
# innodb_buffer_pool_size = 128M

innodb_buffer_pool_size = 6G
innodb_flush_log_at_trx_commit=2

innodb_log_files_in_group =3
innodb_log_file_size = 1512M
#innodb_flush_method = O_DIRECT
innodb_log_buffer_size = 64M
innodb_file_per_table
innodb_data_file_path=ibdata1:10M:autoextend
innodb_open_files = 4096
innodb_lock_wait_timeout = 50
innodb_rollback_on_timeout = ON
innodb_io_capacity = 2000
innodb_read_io_threads = 16
innodb_write_io_threads = 4
innodb_thread_concurrency = 0
innodb_max_dirty_pages_pct = 50
innodb_support_xa = 0
innodb_use_native_aio = 1
#innodb_use_sys_malloc = 1


# Remove leading # to turn on a very important data integrity option: logging
# changes to the binary log between backups.
# log_bin

log_bin="/var/log/mysql/mysql-bin"
log_bin_index=/var/log/mysql/mysql-bin.index
binlog_format = mixed

#
# Remove leading # to set options mainly useful for reporting servers.
# The server defaults are faster for transactions and fast SELECTs.
# Adjust sizes as needed, experiment to find the optimal values.
# join_buffer_size = 128M
# sort_buffer_size = 2M
# read_rnd_buffer_size = 2M

# These are commonly set, remove the # and set as required.
datadir=/var/lib/mysql
port = 3306

# master server
server_id = 1
socket=/var/lib/mysql/mysql.sock

# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0

log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

slow_query_log=1
slow_query_log_file=/var/log/mysql/mysql-slow.log
#long_query_time=2
expire_logs_days = 20

skip

-slave-start
replicate-wild-ignore-table=mysql.%
replicate-wild-ignore-table=test.%
replicate-wild-ignore-table=information_schema.%
replicate-wild-ignore-table=performance_schema.%

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

#peformance schema
#performance_schema = ON

#permit create funciton in mysql
log-bin-trust-function-creators = 1

lower_case_table_names
skip-name-resolve

#connections set
max_connections = 4096
max_user_connections = 4000
back_log=1500

# join /sort parameter
tmp_table_size = 128M
max_heap_table_size = 128M
max_tmp_tables = 128
sort_buffer_size = 16M
join_buffer_size = 8M
query_cache_size = 64M
****************************************************************************/

10、配置mysql服务
cp support-files/mysql.server /etc/init.d/mysqld
chmod 755 /etc/init.d/mysqld
chkconfig --add mysqld # 添加到系统服务
chkconfig mysqld on # 开机启动

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

12、配置mysql环境变量
vim /etc/profile
export PATH=/usr/local/mysql-5.7.13/bin:$PATH
source /etc/profile

13、设置数据库密码(可不执行)
/usr/local/mysql-5.7.13/bin/mysql -e "grant all privileges on *.* to root@'127.0.0.1' identified by "root" with grant option;"
/usr/local/mysql-5.7.13/bin/mysql -e "grant all privileges on *.* to root@'localhost' identified by "root" with grant option;"
# 开启远程登录(将host设为%即可)
/usr/local/mysql/bin/mysql -e "grant all privileges on *.* to root@'%' identified by "root" with grant option;"


14、其它注意事项

如果中途编译失败了,需要删除cmake生成的预编译配置参数的缓存文件和make编译后生成的文件,再重新编译。
cd /usr/local/mysql-5.7.13
rm -f CMakeCache.txt
make clean



相关主题
文本预览
相关文档 最新文档