安裝基礎包
shell> yum install ncurses-devel zlib-devel cmake gcc-c++ perl autoconf vim wget -y
安裝boots(版本1.59)
shell> wget https://jaist.dl.sourceforge.net/project/boost/boost/1.59.0/boost_1_59_0.tar.gz
shell> tar xzvf boost_1_59_0.tar.gz
shell> mv boost_1_59_0 /usr/local/boost
下載mysql
下載地址:https://dev.mysql.com/downloads/mysql/5.7.html#downloads
shell> wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.27.tar.gz
安裝mysql
參數說明:
-DCMAKE_INSTALL_PREFIX= 安裝根目錄
-DCMAKE_INSTALL_PREFIX= unix套接字目錄
-DDEFAULT_CHARSET= 默認字符集
-DDEFAULT_COLLATION=默認編碼
-DWITH_EXTRA_CHARSETS= 額外的編碼,請使用ALL來編譯。
-DWITH_MYISAM_STORAGE_ENGINE=1 編譯myisam存儲引擎,默認的存儲引擎,不加也可以
-DWITH_INNOBASE_STORAGE_ENGINE=1 支持InnoDB存儲引擎,這個也是默認安裝的
-DWITH_READLINE=1 使用readline功能
-DENABLED_LOCAL_INFILE=1 可以使用load data infile命令從本地導入文件
-DMYSQL_DATADIR=數據庫 數據目錄
-DWITH_PARTITION_STORAGE_ENGINE=1 安裝支持數據庫分區
-DWITH_FEDERATED_STORAGE_ENGINE 如果是使用的源碼,需要使用CMake 加上選項。
DEXTRA_CHARSETS 擴展字符支持
DWITH_EMBEDDED_SERVER嵌入式服務器
DWITH_BOOST的位置
shell> tar xzvf mysql-5.7.27.tar.gz
shell> cd mysql-5.7.27
shell> cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DSYSCONFDIR=/etc -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_PARTITION_STORAGE_ENGINE=1 -DWITH_FEDERATED_STORAGE_ENGINE=1 -DEXTRA_CHARSETS=all -DDEFAULT_CHARSET=utf8mb4 -DDEFAULT_COLLATION=utf8mb4_general_ci -DWITH_EMBEDDED_SERVER=1 -DENABLED_LOCAL_INFILE=1 -DWITH_BOOST=/usr/local/boost
shell> make
shell> make install
創建用戶
shell> groupadd mysql
shell> useradd -s /sbin/nologin -M -g mysql mysql
初始化mysql
shell> rm -rf /etc/my.cnf
shell> vi /etc/my.cnf #將下面的配置參數複製進去,在文章底部
shell> cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
shell> chmod 755 /etc/init.d/mysql
shell> /usr/local/mysql/bin/mysqld --initialize-insecure --basedir=/usr/local/mysql --datadir=/usr/local/mysql/var --user=mysql
shell> chown -R mysql:mysql /usr/local/mysql
添加mysql庫路徑
動態鏈接庫為系統所共享
shell> ldconfig
shell> ln -sf /usr/local/mysql/lib/mysql /usr/lib/mysql
shell> ln -sf /usr/local/mysql/include/mysql /usr/include/mysql
啟動mysql及修改密碼
shell> /etc/init.d/mysql start
shell> /usr/local/mysql/bin/mysqladmin -u root password 輸入密碼
添加mysql的bin路徑
shell> ln -sf /usr/local/mysql/bin/mysql /usr/bin/mysql
shell> ln -sf /usr/local/mysql/bin/mysqldump /usr/bin/mysqldump
shell> ln -sf /usr/local/mysql/bin/myisamchk /usr/bin/myisamchk
shell> ln -sf /usr/local/mysql/bin/mysqld_safe /usr/bin/mysqld_safe
shell> ln -sf /usr/local/mysql/bin/mysqlcheck /usr/bin/mysqlcheck
開機啟動
配置參數
[client]
#password = your_password
port = 3306
socket = /tmp/mysql.sock
[mysqld]
port = 3306
socket = /tmp/mysql.sock
datadir = /usr/local/mysql/var
skip-external-locking
key_buffer_size = 64M
max_allowed_packet = 1M
table_open_cache = 256
sort_buffer_size = 1M
net_buffer_length = 8K
read_buffer_size = 1M
read_rnd_buffer_size = 512K
myisam_sort_buffer_size = 16M
thread_cache_size = 32
query_cache_size = 32M
tmp_table_size = 64M
performance_schema_max_table_instances = 2000
explicit_defaults_for_timestamp = true
#skip-networking
max_connections = 500
max_connect_errors = 100
open_files_limit = 65535
log-bin=mysql-bin
binlog_format=mixed
server-id = 1
expire_logs_days = 10
early-plugin-load = ""
default_storage_engine = InnoDB
innodb_file_per_table = 1
innodb_data_home_dir = /usr/local/mysql/var
innodb_data_file_path = ibdata1:10M:autoextend
innodb_log_group_home_dir = /usr/local/mysql/var
innodb_buffer_pool_size = 256M
innodb_log_file_size = 64M
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 = 64M
sort_buffer_size = 1M
read_buffer = 2M
write_buffer = 2M
[mysqlhotcopy]
interactive-timeout
閱讀更多 技術小屋 的文章