Mysql 5.7.11源码安装
环境:
Centos 6.5 64位
mysql 5.7.21
1、安装依赖包
yum -y install gcc-c++ ncurses-devel cmake make perl gcc autoconf automake zlib libxml libgcrypt libtool bison
2、安装boost库(对应版本高于或低于这个版本都有问题)
wget http://nchc.dl.sourceforge.net/project/boost/boost/1.59.0/boost_1_59_0.tar.gz
tar zxvf boost_1_59_0.tar.gz
mv boost_1_59_0 /usr/local/boost
3、添加mysql用户组
useradd mysql
4、下载mysql源码包并安装
wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.23.tar.gz
tar -xf mysql-5.7.11.tar.gz
cd mysql-5.7.11
cmake -DCMAKE_INSTALL_PREFIX=/data/mysql -DMYSQL_DATADIR=/data/mysql/data -DDEFAULT_CHARSET=utf8mb4 -DDEFAULT_COLLATION=utf8mb4_general_ci -DMYSQL_TCP_PORT=3306 -DMYSQL_USER=mysql -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DDOWNLOAD_BOOST=1 -DWITH_BOOST=/usr/local/boost
make && make install
5、初始化数据库
/usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/data/mysql --datadir=/data/mysql/data
注:初始化后会生成默认密码,请记录下来
2018-02-17T03:16:36.869627Z 1 [Note] A temporary password is generated for root@localhost: kci!&lc?s8wE
6、调整配置文件
[client]
socket =/data/mysql/mysql.sock
port=3306
default-character-set=utf8mb4
[mysql]
default-character-set=utf8mb4
[mysqld_safe]
log-error = /data/mysql/logs/error.log
[mysqld]
slow_query_log=ON
slow_query_log_file=/data/mysql/logs/remotejob-01-slow.log
long_query_time=1
log_output='FILE,TABLE'
lower_case_table_names=1
log_timestamps=SYSTEM
expire_logs_days=14
basedir=/data/mysql
datadir=/data/mysql/data
port=3306
pid-file=/data/mysql/mysqld.pid
skip-name-resolve
socket = /data/mysql/mysql.sock
character-set-client-handshake=FALSE
character-set-server=utf8mb4
collation-server=utf8mb4_general_ci
init_connect='SET NAMES utf8mb4'
default-storage-engine=INNODB
explicit_defaults_for_timestamp = true
log-bin=mysql-bin
server-id=3
max_connections=2000
query_cache_size=0
table_open_cache=2000
tmp_table_size=246M
thread_cache_size=300
thread_stack = 192k
key_buffer_size=512M
read_buffer_size=2M
read_rnd_buffer_size=8M
innodb_data_home_dir = /data
innodb_flush_log_at_trx_commit=0
innodb_log_buffer_size=16M
innodb_buffer_pool_size=512M
innodb_log_file_size=128M
innodb_thread_concurrency=128
innodb_autoextend_increment=1000
innodb_buffer_pool_instances=8
innodb_concurrency_tickets=5000
innodb_old_blocks_time=1000
innodb_open_files=300
innodb_stats_on_metadata=0
innodb_file_per_table=1
innodb_checksum_algorithm=0
back_log=80
flush_time=0
join_buffer_size=4M
max_allowed_packet=1024M
max_connect_errors=2000
open_files_limit=4161
query_cache_type=0
sort_buffer_size=4M
table_definition_cache=1400
binlog_row_event_max_size=8K
sync_master_info=10000
sync_relay_log=10000
sync_relay_log_info=10000
bulk_insert_buffer_size = 64M
log-bin-trust-function-creators=1
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
user=mysql
read_only = 1
master_info_repository=TABLE
relay_log_info_repository=TABLE
7、启动mysql
mysql数据文件
ln -s /usr/local/mysql/bin/* /usr/bin/
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
可以使用service mysqld start 成功!!!
8、访问数据库
mysql -uroot -p
9、修改默认密码(不修改默认密码,将不能正常使用sql,必须修改)
alter user 'root'@'localhost' identified by '123456';