源码编译安装MySQL 5.7.9的过程
发布时间:2022-01-16 11:30:45 所属栏目:MySql教程 来源:互联网
导读:这篇文章主要介绍源码编译安装MySQL 5.7.9的过程,在日常操作中,相信很多人在源码编译安装MySQL 5.7.9的过程问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答源码编译安装MySQL 5.7.9的过程的疑惑有所帮助!接下来,请跟着小
这篇文章主要介绍“源码编译安装MySQL 5.7.9的过程”,在日常操作中,相信很多人在源码编译安装MySQL 5.7.9的过程问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”源码编译安装MySQL 5.7.9的过程”的疑惑有所帮助!接下来,请跟着小编一起来学习吧! 安装CentOS 6.3 配置yum: [root@hank-yoon ~]# cd /etc/yum.repos.d/ [root@hank-yoon yum.repos.d]# mkdir a [root@hank-yoon yum.repos.d]# ls a CentOS-Base.repo CentOS-Debuginfo.repo CentOS-Media.repo CentOS-Vault.repo [root@hank-yoon yum.repos.d]# mv CentOS-Base.repo CentOS-Debuginfo.repo CentOS-Vault.repo a [root@hank-yoon yum.repos.d]# ls a CentOS-Media.repo [root@hank-yoon yum.repos.d]# vi CentOS-Media.repo # CentOS-Media.repo # # This repo is used to mount the default locations for a CDROM / DVD on # CentOS-6. You can use this repo and yum to install items directly off the # DVD ISO that we release. # # To use this repo, put in your DVD and use it with the other repos too: # yum --enablerepo=c6-media [command] # # or for ONLY the media repo, do this: # # yum --disablerepo=* --enablerepo=c6-media [command] [c6-media] name=CentOS-$releasever - Media baseurl=file:///media/CentOS/ # file:///media/cdrom/ # file:///media/cdrecorder/ gpgcheck=1 enabled=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6 安装依赖的包: [root@hank-yoon yum.repos.d]# yum install -y ncurses-devel glibc gcc gcc-c++ libstdc++* libtool cmake lrzsz libaio-devel 上传源码安装包mysql-5.7.9.tar.gz和cmake-2.8.3.tar.gz: [root@hank-yoon yum.repos.d]# cd /export/servers/ [root@hank-yoon servers]# ls cmake-2.8.3.tar.gz mysql-5.7.9.tar.gz [root@hank-yoon servers]# tar -xvf cmake-2.8.3.tar.gz [root@hank-yoon servers]# tar -xvf mysql-5.7.9.tar.gz [root@hank-yoon servers]# ls cmake-2.8.3 cmake-2.8.3.tar.gz mysql-5.7.9 mysql-5.7.9.tar.gz [root@hank-yoon servers]# cd cmake-2.8.3 [root@hank-yoon cmake-2.8.3]# ls bootstrap CMakeCPack.cmake CMakeLogo.gif Copyright.txt DartConfig.cmake Example Templates ChangeLog.manual CMakeCPackOptions.cmake.in cmake_uninstall.cmake.in CTestConfig.cmake DartLocal.conf.in Modules Tests ChangeLog.txt CMakeGraphVizOptions.cmake CompileFlags.cmake CTestCustom.cmake.in Docs Readme.txt Utilities cmake.1 CMakeLists.txt configure CTestCustom.ctest.in doxygen.config Source [root@hank-yoon cmake-2.8.3]# ./configure [root@hank-yoon cmake-2.8.3]# make && make install [root@hank-yoon mysql]# groupadd mysql [root@hank-yoon mysql]# useradd -r -g mysql mysql [root@hank-yoon export]# chown -R mysql.mysql /export/ [root@hank-yoon export]# mkdir -p data/mysql/data log tmp log dumps 编译MySQL安装包报错: CMake Error at cmake/boost.cmake:76 (MESSAGE): You can download it with -DDOWNLOAD_BOOST=1 -DWITH_BOOST=<directory> This CMake script will look for boost in <directory>. If it is not there, it will download and unpack it (in that directory) for you. If you are inside a firewall, you may need to use an http proxy: export http_proxy=http://example.com:80 Call Stack (most recent call first): cmake/boost.cmake:228 (COULD_NOT_FIND_BOOST) CMakeLists.txt:435 (INCLUDE) -- Configuring incomplete, errors occurred! 下载安装:wget https://cache.yisu.com/upload/information/20200703/141/24801 bootstrap.sh index.htm INSTALL libs more status boost-build.jam boost.css bootstrap.bat doc index.html Jamroot LICENSE_1_0.txt rst.css tools [root@hank-yoon mysql-5.7.9]# pwd /export/mysql-5.7.9 [root@hank-yoon mysql-5.7.9]# cmake . -DCMAKE_INSTALL_PREFIX=/export/servers/mysql/ -DMYSQL_DATADIR=/export/data/mysql/data -DSYSCONFDIR=/export/servers/mysql/etc -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_PERFSCHEMA_STORAGE_ENGINE=1 -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DMYSQL_UNIX_ADDR=/export/data/mysql/tmp/mysql.sock -DENABLED_LOCAL_INFILE=ON -DENABLED_PROFILING=ON -DWITH_DEBUG=0 -DENABLE_DTRACE=OFF -DMYSQL_TCP_PORT=3306 -DDOWNLOAD_BOOST=1 -DWITH_BOOST=/export/boost_1_59_0 -DCMAKE_INSTALL_PREFIX:指定MySQL程序的安装目录,默认/usr/local/mysql -DMYSQL_DATADIR:数据文件目录 -DSYSCONFDIR:初始化参数文件目录 -DWITH_INNOBASE_STORAGE_ENGINE:指定静态编译到MySQL存储引擎 -DDEFAULT_CHARSET:默认字符集 -DMYSQL_TCP_PORT:默认端口 [root@hank-yoon mysql-5.7.9]# make && make install [root@hank-yoon bin]# pwd /export/servers/mysql/bin 初始化数据库: [root@hank-yoon bin]# ./mysqld --initialize-insecure --user=mysql --basedir=/export/servers/mysql --datadir=/export/data/mysql/data 删除默认的my.cnf文件: [root@hank-yoon bin]# rm -rf /etc/my.cnf [root@hank-yoon bin]# ./mysqld_safe --defaults-file=/export/servers/mysql/etc/my.cnf & 新建配置文件my.cnf内容: [root@hank-yoon etc]# cat my.cnf [client] port = 3358 socket = /export/data/mysql/tmp/mysql.sock [mysqld] port = 3358 socket = /export/data/mysql/tmp/mysql.sock datadir = /export/data/mysql/data/ #--- GLOBAL ---# character-set-server = utf8 lower_case_table_names = 1 log-output = FILE log-error = /export/data/mysql/log/error.log general_log = 0 general_log_file = /export/data/mysql/log/mysql.log pid-file = /export/data/mysql/mysql.pid slow-query-log slow_query_log_file = /export/data/mysql/log/slow.log tmpdir = /export/data/mysql/tmp long_query_time = 1 #--------------# #thread_concurrency = 16 thread_cache_size = 512 table_open_cache = 16384 table_definition_cache = 16384 sort_buffer_size = 2M join_buffer_size = 2M read_buffer_size = 4M read_rnd_buffer_size = 4M key_buffer_size = 8M myisam_sort_buffer_size = 8M tmp_table_size = 64M max_heap_table_size = 64M open_files_limit = 65535 query_cache_size = 0 #add z ################# innodb_undo_directory = /export/data/mysql/undo innodb_undo_tablespaces = 4 explicit_defaults_for_timestamp = 1 #--- NETWORK ---# back_log = 1024 max_allowed_packet = 16M interactive_timeout = 28800 wait_timeout = 28800 skip-external-locking max-connections = 1000 skip-name-resolve #read_only = 1 #--- REPL ---# server-id = 360360 log-bin = mysql-bin binlog_format = mixed expire_logs_days = 7 relay-log = relay-log replicate-ignore-db = mysql.slave_master_info replicate-ignore-db = mysql.slave_relay_log_info replicate-ignore-db = mysql.slave_worker_info replicate-ignore-db = test replicate-ignore-db = information_schema replicate-ignore-db = performance_schema log_slave_updates skip-slave-start slave-parallel-workers= 4 sync_master_info = 1 sync_relay_log = 1 sync_relay_log_info = 1 relay_log_info_repository = TABLE master_info_repository = TABLE #rpl_semi_sync_master_enabled = 1 #rpl_semi_sync_slave_enabled = 1 #rpl_semi_sync_master_timeout = 1000 #--- INNODB ---# default-storage-engine = INNODB innodb_data_home_dir = /export/data/mysql/data innodb_file_per_table innodb_log_group_home_dir = /export/data/mysql/data innodb_log_files_in_group = 3 innodb_log_file_size = 512M innodb_log_buffer_size = 16M innodb_flush_log_at_trx_commit = 1 innodb_lock_wait_timeout = 120 innodb_flush_method = O_DIRECT innodb_max_dirty_pages_pct = 75 #change z ##### sync_binlog = 1 innodb_buffer_pool_size = 1G innodb_data_file_path = ibdata1:2G;ibdata2:2G:autoextend innodb_autoextend_increment = 500 innodb_thread_concurrency = 32 innodb_open_files = 65535 innodb_write_io_threads = 20 innodb_read_io_threads = 20 innodb_spin_wait_delay = 10 innodb_flush_neighbors = 1 innodb_use_native_aio = 1 innodb_io_capacity = 2000 innodb_io_capacity_max = 6000 relay_log_recovery = 1 #innodb_additional_mem_pool_size = 128M #change h ##### #innodb_numa_interleave=ON innodb_lru_scan_depth=512 innodb_checksum_algorithm=crc32 innodb_purge_threads=4 [mysqldump] quick max_allowed_packet = 16M [mysql] # auto-rehash # Remove the next comment character if you are not familiar with SQL # safe-updates default-character-set=utf8 [myisamchk] key_buffer_size = 128M sort_buffer_size = 128M read_buffer = 2M write_buffer = 2M [mysqlhotcopy] interactive-timeout [root@hank-yoon log]# ps -ef | grep mysql root 26374 10192 0 16:53 pts/1 00:00:00 /bin/sh ./mysqld_safe --defaults-file=/export/servers/mysql/etc/my.cnf mysql 27460 26374 0 16:53 pts/1 00:00:04 /export/servers/mysql/bin/mysqld --defaults-file=/export/servers/mysql/etc/my.cnf --basedir=/export/servers/mysql --datadir=/export/data/mysql/data/ --plugin-dir=/export/servers/mysql/lib/plugin --user=mysql --log-error=/export/data/mysql/log/error.log --open-files-limit=65535 --pid-file=/export/data/mysql/mysql.pid --socket=/export/data/mysql/tmp/mysql.sock --port=3358 通过新配置文件重新初始化,不需要新的密码:(默认生成一个随机密码(~/.mysql_secret) [root@hank-yoon bin]# ./mysql Welcome to the MySQL monitor. Commands end with ; or g. Your MySQL connection id is 4 Server version: 5.7.9-log Source distribution Copyright (c) 2000, 2015, 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; +--------------------+ | Database | +--------------------+ | information_schema | | mysql | | performance_schema | | sys | +--------------------+ 4 rows in set (0.00 sec) 添加变量位置,在任意目录下执行mysql命令: [root@hank-yoon ~]# vi .bash_profile PATH=$PATH:$HOME/bin:/export/servers/mysql/bin:/export/servers/mysql/bin export PATH export LANG=en_US.UTF-8 [root@hank-yoon ~]# source .bash_profile [root@hank-yoon ~]# mysql Welcome to the MySQL monitor. Commands end with ; or g. Your MySQL connection id is 6 Server version: 5.7.9-log Source distribution Copyright (c) 2000, 2015, 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> 配置通过service启动mysql命令脚本: [root@hank-yoon support-files]# pwd /export/mysql-5.7.9/support-files [root@hank-yoon support-files]# cp mysql.server /etc/init.d/mysqld [root@hank-yoon init.d]# chmod 755 mysqld [root@hank-yoon init.d]# service mysqld start Starting MySQL.. SUCCESS! [root@hank-yoon init.d]# service mysqld stop Shutting down MySQL.. SUCCESS! 在自启动项中添加mysqld服务器: [root@hank-yoon ~]# chkconfig --list mysqld service mysqld supports chkconfig, but is not referenced in any runlevel (run 'chkconfig --add mysqld') [root@hank-yoon ~]# chkconfig --add mysqld [root@hank-yoon ~]# chkconfig --level 345 mysqld on 到此,关于“源码编译安装MySQL 5.7.9的过程”的学习就结束了,希望能够解决大家的疑惑。 (编辑:站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |