linux源碼安裝mysql5.7

安裝基礎包

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

linux源碼安裝mysql5.7



分享到:


相關文章: