MySQL是一款关系数据库管理系统,原开发者为瑞典MySQL AB公司,目前已属于Oracle公司产品之一。MySQL因性能高、成本低、可靠性好,已经成为最流行的开源数据库,广受个人建站爱好者青睐。
实验环境
操作系统:CentOS 7.9
MySQL:5.7.32
服务端篇
第一步 安装依赖包
- # yum -y install wget vim make cmake gcc gcc-c++ openssl-devel bison-devel ncurses-devel
第二步 下载、解压源码包
- # cd /usr/local/src/
- # wget --no-check-certificate https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-boost-5.7.32.tar.gz
- # tar xzf mysql-boost-5.7.32.tar.gz
第三步 新建用户组、用户
- # groupadd mysql
- # useradd mysql -M -g mysql -s /sbin/nologin
第四步 编译安装MySQL(按需添加更多功能模块)
- # cd /usr/local/src/mysql-5.7.32
- # cmake \
- -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
- -DSYSCONFDIR=/etc \
- -DMYSQL_TCP_PORT=3306 \
- -DEXTRA_CHARSETS=all \
- -DDEFAULT_CHARSET=utf8mb4 \
- -DDEFAULT_COLLATION=utf8mb4_general_ci \
- -DWITH_MYISAM_STORAGE_ENGINE=1 \
- -DWITH_INNOBASE_STORAGE_ENGINE=1 \
- -DWITH_PARTITION_STORAGE_ENGINE=1 \
- -DWITH_FEDERATED_STORAGE_ENGINE=1 \
- -DWITH_EMBEDDED_SERVER=1 \
- -DENABLED_LOCAL_INFILE=1 \
- -DWITH_BOOST=/usr/local/src/mysql-5.7.32/boost/boost_1_59_0
- # make
- # make install
第五步 优化数据库配置(4G-8G内存优化方案,仅供参考)
- # vim /etc/my.cnf
- [client]
- #password="123456"
- port=3306
- socket=/tmp/mysql.sock
- [mysqld]
- #bind_address=127.0.0.1
- binlog_cache_size=128K
- thread_stack=256K
- join_buffer_size=2048K
- query_cache_type=1
- max_heap_table_size=512M
- port=3306
- socket=/tmp/mysql.sock
- datadir=/usr/local/mysql/data
- default_storage_engine=InnoDB
- performance_schema_max_table_instances=400
- table_definition_cache=400
- skip-external-locking
- key_buffer_size=384M
- max_allowed_packet=100G
- table_open_cache=384
- sort_buffer_size=1024K
- net_buffer_length=4K
- read_buffer_size=1024K
- read_rnd_buffer_size=768K
- myisam_sort_buffer_size=16M
- thread_cache_size=128
- query_cache_size=192M
- tmp_table_size=512M
- sql-mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
- explicit_defaults_for_timestamp=true
- #skip-name-resolve
- max_connections=300
- max_connect_errors=100
- open_files_limit=65535
- log-bin=mysql-bin
- binlog_format=mixed
- server-id=1
- expire_logs_days=10
- slow_query_log=1
- slow-query-log-file=/usr/local/mysql/data/mysql-slow.log
- long_query_time=3
- #log_queries_not_using_indexes=on
- early-plugin-load=""
- innodb_data_home_dir=/usr/local/mysql/data
- innodb_data_file_path=ibdata1:10M:autoextend
- innodb_log_group_home_dir=/usr/local/mysql/data
- innodb_buffer_pool_size=512M
- innodb_log_file_size=128M
- innodb_log_buffer_size=32M
- innodb_flush_log_at_trx_commit=1
- innodb_lock_wait_timeout=50
- innodb_max_dirty_pages_pct=90
- innodb_read_io_threads=4
- innodb_write_io_threads=4
- [mysqldump]
- user=root
- #password="123456"
- quick
- max_allowed_packet=500M
- [mysql]
- no-auto-rehash
- [myisamchk]
- key_buffer_size=64M
- sort_buffer_size=1M
- read_buffer=2M
- write_buffer=2M
- [mysqlhotcopy]
- interactive-timeout
第六步 修改数据库目录、配置文件权限
- # chown mysql:mysql /etc/my.cnf
- # chown -R mysql:mysql /usr/local/mysql
第七步 配置数据库环境变量
- # echo "export PATH="/usr/local/mysql/bin:$PATH"" >> /etc/profile
- # source /etc/profile
第八步 配置启动服务脚本、开机启动
- # cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
- # chmod +x /etc/init.d/mysqld
- # chkconfig --add mysqld
- # chkconfig mysqld on
第九步 初始化数据库
- # mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
第十步 启动程序
- # service mysqld start
- # mysql
您可以选择一种方式赞助本站
支付宝扫一扫
微信扫一扫
赏