博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
CentOS 编译安装 MySQL5.7
阅读量:6675 次
发布时间:2019-06-25

本文共 3351 字,大约阅读时间需要 11 分钟。

下载

所有版本下载地址: 

此处用 5.7.10

wget http://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-boost-5.7.10.tar.gz

安装依赖包

yum -y install gcc gcc-c++ ncurses ncurses-devel cmake

添加mysql用户和组

useradd -M -s /sbin/nologin mysql

预编译

cd mysql-5.7.10cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \-DMYSQL_DATADIR=/data/mysql \-DDOWNLOAD_BOOST=1 \ -DWITH_BOOST=boost/boost_1_59_0 \ -DSYSCONFDIR=/etc \ -DWITH_INNOBASE_STORAGE_ENGINE=1 \ -DWITH_PARTITION_STORAGE_ENGINE=1 \ -DWITH_FEDERATED_STORAGE_ENGINE=1 \ -DWITH_BLACKHOLE_STORAGE_ENGINE=1 \ -DWITH_MYISAM_STORAGE_ENGINE=1 \ -DENABLED_LOCAL_INFILE=1 \ -DENABLE_DTRACE=0 \ -DDEFAULT_CHARSET=utf8mb4 \ -DDEFAULT_COLLATION=utf8mb4_general_ci \ -DWITH_EMBEDDED_SERVER=1

编译安装

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

启动脚本,设置开机自启动

cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqldchmod +x /etc/init.d/mysqldchkconfig --add mysqldchkconfig mysqld on

初始化数据库

注:

  • 之前版本mysql_install_db是在mysql_basedir/script下,5.7放在了mysql_install_db/bin目录下,且已被废弃

  • --initialize 会生成一个随机密码(~/.mysql_secret),而 --initialize-insecure 不会生成密码

  • —datadir 目标目录下不能有数据文件
mkdir -p /data/mysqlchown -R mysql:mysql /data/mysql /usr/local/mysql/bin/mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql

编辑配置文件

/etc/my.cnf

参考配置:

[client]port = 3306socket = /tmp/mysql.sockdefault-character-set = utf8mb4[mysqld]port = 3306socket = /tmp/mysql.sockbasedir = /usr/local/mysqldatadir = /data/mysqlpid-file = /data/mysql/mysql.piduser = mysqlbind-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/mysql/mysql-error.log slow_query_log = 1 long_query_time = 1 slow_query_log_file = /data/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

设置数据库密码

# 数据库root密码/usr/local/mysql/bin/mysql -e "grant all privileges on *.* to root@'127.0.0.1' identified by \"123456\" with grant option;"/usr/local/mysql/bin/mysql -e "grant all privileges on *.* to root@'localhost' identified by \"123456\" with grant option;"

转载地址:http://btgxo.baihongyu.com/

你可能感兴趣的文章
互联网大数据支撑生态银行建设
查看>>
软件探索性测试 笔记二
查看>>
光伏电站或成辅助服务市场“输家”
查看>>
今年光伏“领跑者”计划将升级扩围
查看>>
《交互式程序设计 第2版》一3.10 更进一步
查看>>
我的友情链接
查看>>
Linux系统新手学习的11点建议
查看>>
【微软面试智力题】12个球,3次称量,找重量不同的那个球。
查看>>
SSH1还是SSH2与Annotation还是Xml配置的问题
查看>>
简单构建工具SBT
查看>>
linux系统的启动过程
查看>>
输出 pdf
查看>>
APP云测试
查看>>
lucene4.0入门1
查看>>
Svn结合hook实现自动更新及多Project管理更新
查看>>
sgu 222
查看>>
求一个数的二进制中1的个数
查看>>
iozone测试文件系统性能
查看>>
Win7下部署asp.net程序如果有RDLC报表需要以下配置
查看>>
Jhipster_cn中文翻译组
查看>>