编译安装MySQL
安装编译环境
1
| $ yum install -y gcc gcc-c++ cmake ncurses ncurses-devel bison
|
下载源码
https://downloads.mysql.com/archives/get/p/23/file/mysql-boost-5.7.32.tar.gz
添加用户
1
| $ useradd -s /sbin/nologin mysql
|
创建用户目录
1 2 3
| $ mkdir /usr/local/mysql/ $ mkdir -p /data/mysql/data $ chown -R mysql:mysql /data/mysql
|
解压源码
1
| $ tar -zxvf mysql-boost-5.7.32.tar.gz -C /usr/local/mysql/
|
编译源码、安装
1 2 3
| $ cd /usr/local/mysql $ cmake -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_BOOST=boost $ make && make install
|
配置文件/etc/my.cnf
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63
| [client] port = 3306 socket = /tmp/mysql.sock
[mysqld] port = 3306 socket = /tmp/mysql.sock user = mysql
basedir = /usr/local/mysql datadir = /data/mysql/data pid-file = /data/mysql/mysql.pid
log_error = /data/mysql/mysql-error.log slow_query_log = 1 long_query_time = 1 slow_query_log_file = /data/mysql/mysql-slow.log
skip-external-locking key_buffer_size = 32M max_allowed_packet = 1024M table_open_cache = 128 sort_buffer_size = 768K net_buffer_length = 8K read_buffer_size = 768K read_rnd_buffer_size = 512K myisam_sort_buffer_size = 8M thread_cache_size = 16 query_cache_size = 16M tmp_table_size = 32M performance_schema_max_table_instances = 1000 explicit_defaults_for_timestamp = true
max_connections = 500 max_connect_errors = 100 open_files_limit = 65535
log_bin = mysql-bin binlog_format = mixed server_id = 10001 expire_logs_days = 30 early-plugin-load = ""
default_storage_engine = InnoDB innodb_file_per_table = 1 innodb_buffer_pool_size = 128M innodb_log_file_size = 32M innodb_log_buffer_size = 8M innodb_flush_log_at_trx_commit = 1 innodb_lock_wait_timeout = 50
[mysqldump] quick max_allowed_packet = 16M
[mysql] no-auto-rehash
[myisamchk] key_buffer_size = 32M sort_buffer_size = 768K read_buffer = 2M write_buffer = 2M
|
配置文件内容仅供参考
修改安装目录权限
1
| $ chown -R mysql:mysql /usr/local/mysql
|
初始化数据
1
| $ bin/mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql/data
|
添加systemd服务
1
| $ cp support-files/mysql.server /etc/init.d/mysqld
|
添加环境变量
在/etc/profile文件中添加mysql的环境变量
1
| PATH=/usr/local/mysql/bin:$PATH
|