mysql5.7编译安装
时间:2018-08-19 01:21:11 +0800 CST 浏览:885

MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件。

mysql_rJ52u8M8m.jpg

步骤

  1. 编译安装MySQL5.7


  2. 新mysql改端口运行


  3. 将老的mysql数据同步到新的mysql

  4. 停掉老mysql并将新mysql端口改成3306

  5. 
确认没问题后将老mysql的数据清理掉

准备

yum install -y cmake make gcc gcc-c++ bison ncurses ncurses-devel
cd /usr/local/src
wget http://mirrors.163.com/mysql/Downloads/MySQL-5.7/mysql-5.7.23.tar.gz #下载mysql5.7
wget -O https://sourceforge.net/projects/boost/files/boost/1.59.0/boost_1_59_0.tar.gz #下载boost
#解压
tar xf boost_1_59_0.tar.gz
tar xf mysql-5.7.23.tar.gz
#添加mysql用户
groupadd mysql #添加mysql用户组
useradd -r -g mysql -s /bin/false mysql #添加mysql用户

mysql其他版本

http://mirrors.163.com/mysql/Downloads/

编译

cmake . -DCMAKE_INSTALL_PREFIX=/data/db2/mysql/mysql \
-DMYSQL_DATADIR=/data/db2/mysql/data \
-DWITH_BOOST=/usr/local/src/boost_1_59_0 \
-DSYSCONFDIR=/etc \
-DEFAULT_CHARSET=utf8mb4 \
-DDEFAULT_COLLATION=utf8mb4_general_ci \
-DENABLED_LOCAL_INFILE=1 \
-DEXTRA_CHARSETS=all

make -j `grep processor /proc/cpuinfo | wc -l`
make install

参数解释

  1. -DCMAKE_INSTALL_PREFIX:安装路径

  2. -DMYSQL_DATADIR:数据存放目录

  3. -DWITH_BOOST:boost源码路径

  4. -DSYSCONFDIR:my.cnf配置文件目录

  5. -DEFAULT_CHARSET:数据库默认字符编码

  6. -DDEFAULT_COLLATION:默认排序规则

  7. -DENABLED_LOCAL_INFILE:允许从本文件导入数据

  8. -DEXTRA_CHARSETS:安装所有字符集

配置文件

#my.cnf
cat > /etc/my.cnf << EOF
[client]
port = 3307
socket = /data/db2/mysql/mysql.sock
default-character-set = utf8mb4
[mysqld]
port = 3307
socket = /data/db2/mysql/mysql.sock
basedir = /data/db2/mysql/mysql
datadir = /data/db2/mysql/data
pid-file = /data/db2/mysql/mysql.pid
user = mysql
bind-address = 0.0.0.0
server-id = 1
init-connect = 'SET NAMES utf8mb4'
character-set-server = utf8mb4
#skip-name-resolve
#skip-networking
back_log = 300
max_connections = 1000
max_connect_errors = 6000
open_files_limit = 65535
table_open_cache = 128
max_allowed_packet = 4M
binlog_cache_size = 1M
max_heap_table_size = 8M
tmp_table_size = 16M
read_buffer_size = 2M
read_rnd_buffer_size = 8M
sort_buffer_size = 8M
join_buffer_size = 8M
key_buffer_size = 4M
thread_cache_size = 8
query_cache_type = 1
query_cache_size = 8M
query_cache_limit = 2M
ft_min_word_len = 4
log_bin = mysql-bin
binlog_format = mixed
expire_logs_days = 30
log_error = /data/db2/mysql/mysql-error.log
slow_query_log = 1
long_query_time = 1
slow_query_log_file = /data/db2/mysql/mysql-slow.log
performance_schema = 0
explicit_defaults_for_timestamp
#lower_case_table_names = 1
skip-external-locking
default_storage_engine = InnoDB
#default-storage-engine = MyISAM
innodb_file_per_table = 1
innodb_open_files = 500
innodb_buffer_pool_size = 64M
innodb_write_io_threads = 4
innodb_read_io_threads = 4
innodb_thread_concurrency = 0
innodb_purge_threads = 1
innodb_flush_log_at_trx_commit = 2
innodb_log_buffer_size = 2M
innodb_log_file_size = 32M
innodb_log_files_in_group = 3
innodb_max_dirty_pages_pct = 90
innodb_lock_wait_timeout = 120
bulk_insert_buffer_size = 8M
myisam_sort_buffer_size = 8M
myisam_max_sort_file_size = 10G
myisam_repair_threads = 1
interactive_timeout = 28800
wait_timeout = 28800
[mysqldump]
quick
max_allowed_packet = 16M
[myisamchk]
key_buffer_size = 8M
sort_buffer_size = 8M
read_buffer = 4M
write_buffer = 4M
EOF

初始化数据

mkdir /data/db2/mysql/data
chown mysql.mysql -R /data/db2/mysql/
chmod 775 -R /data/db2/mysql/


/data/db2/mysql/mysql/bin/mysqld --initialize-insecure --user=mysql --basedir=/data/db2/mysql/mysql --datadir=/data/db2/mysql/data

添加服务

cp /data/db2/mysql/mysql/support-files/mysql.server /etc/init.d/mysqld5.7
chmod +x /etc/init.d/mysqld5.7
chkconfig --add mysqld5.7
chkconfig mysqld5.7 on

启动服务

/etc/init.d/mysqld start


如果这篇文章对你有所帮助,可以通过下边的“打赏”功能进行小额的打赏。

本网站部分内容来源于互联网,如有侵犯版权请来信告知,我们将立即处理。


来说两句吧