Linux笔记-centos7源码安装Mysql5.6(图解详细)
關(guān)閉centos7防火墻
查看防火墻命令及關(guān)閉防火墻及永久關(guān)閉防火墻
systemctl status firewalld.service systemctl stop firewalld.service systemctl disable firewalld.serviceLinux上創(chuàng)建一個(gè)mysql的用戶名和組
groupadd mysql useradd -d /home/mysql -g mysql -m mysql修改linux中mysql用戶密碼:
passwd mysql查看下linux中mysql用戶的相關(guān)id
id mysql切換到mysql用戶并配置環(huán)境變量。這里我們把mysql安裝到/u01/my3306/bin下面
su -mysql vim .bash_profile添加環(huán)境變量?jī)?nèi)容如下:
加一個(gè)/u01/mysql3306/bin
重新加載shell,讓其立即生效
source .bash_profile下面是創(chuàng)建一些目錄,用于放數(shù)據(jù)文件、日志文件、service層日志、運(yùn)行時(shí)的pid、臨時(shí)文件
這里要先切換到root用戶
mkdir -p /u01/mysql3306/data mkdir -p /u01/mysql3306/log/iblog mkdir -p /u01/mysql3306/log/binlog mkdir -p /u01/mysql3306/run mkdir -p /u01/mysql3306/tmp授予linux用戶組mysql和用戶mysql相關(guān)權(quán)限
chown -R mysql:mysql /u01/mysql3306 chown -R 755 /u01/mysql3306?
下載好源碼后
使用rz把文件傳到/u01目錄下:
解壓然后進(jìn)入:
tar -zxvf mysql-5.6.35.tar.gz cd mysql-5.6.35安裝cmake相關(guān)軟件
yum install -y cmake gcc gcc-c++ ncurses-devel bison zlib libxml openssl openssl-devel隨后使用cmake:
cmake \ -DCMAKE_INSTALL_PREFIX=/u01/mysql3306 \ -DINSTALL_DATADIR=/u01/mysql3306/data \ -DDEFAULT_CHARSET=utf8 \ -DDEFAULT_COLLATION=utf8_general_ci \ -DEXTRA_CHARSETS=all \ -DWITH_SSL=yes \ -DWITH_EMBEDDED_SERVER=1 \ -DENABLED_LOCAL_INFILE=1 \ -DWITH_MYISAM_STORAGE_ENGINE=1 \ -DWITH_INNOBASE_STORAGE_ENGINE=1 \ -DWITH_ARCHIVE_STORAGE_ENGINE=1 \ -DWITH_BLACKHOLE_STORAGE_ENGINE=1 \ -DWITH_FEDERATED_STORAGE_ENGINE=1 \ -DWITH_PARTITION_STORAGE_ENGINE=1 \ -DMYSQL_UNIX_ADDR=/u01/mysql3306/run/mysql.sock \ -DMYSQL_TCP_PORT=3306 \ -DENABLED_LOCAL_INFILE=1 \ -DSYSCONFDIR=/etc \ -DWITH_READLINE=on如果提示SSL找不到的話如下錯(cuò)誤:
Cannot find appropriate system libraries for SSL
要程序下載openssl二進(jìn)制安裝包。下載好后,同樣使用rz放到linux上,然后tar,即可
執(zhí)行如下命令:
./config --prefix=/usr/local/openssl -fPIC no-gost no-shared no-zlib make depend ./config -t make && make install注意不要安裝新版本,不然mysql5.6會(huì)編譯不通過。我這里用的是1.0.1u
完成了后替換一起的openssl
cd /usr/local ldd /usr/local/openssl/bin/openssl修改root環(huán)境變量并讓其生效
vim /root/.bash_profile source /root/.bash_profile查看下:
which openssl如果還是/bin/openssl將其刪掉就可以了。
隨后將CmakeCache.txt刪掉
rm -f CMakeCache.txt然后將命令改為:
cmake \ -DCMAKE_INSTALL_PREFIX=/u01/mysql3306 \ -DINSTALL_DATADIR=/u01/mysql3306/data \ -DDEFAULT_CHARSET=utf8 \ -DDEFAULT_COLLATION=utf8_general_ci \ -DEXTRA_CHARSETS=all \ -DWITH_SSL=yes \ -DWITH_EMBEDDED_SERVER=1 \ -DENABLED_LOCAL_INFILE=1 \ -DWITH_MYISAM_STORAGE_ENGINE=1 \ -DWITH_INNOBASE_STORAGE_ENGINE=1 \ -DWITH_ARCHIVE_STORAGE_ENGINE=1 \ -DWITH_BLACKHOLE_STORAGE_ENGINE=1 \ -DWITH_FEDERATED_STORAGE_ENGINE=1 \ -DWITH_PARTITION_STORAGE_ENGINE=1 \ -DMYSQL_UNIX_ADDR=/u01/mysql3306/run/mysql.sock \ -DMYSQL_TCP_PORT=3306 \ -DENABLED_LOCAL_INFILE=1 \ -DSYSCONFDIR=/etc \ -DWITH_READLINE=on \ -DOPENSSL_ROOT_DIR=/usr/local/openssl \ -DOPENSSL_LIBRARIES=/usr/local/openssl/lib隨后安裝,并將編譯好的文件其移動(dòng)到相關(guān)目錄
make && make install如下:
為文件夾授予權(quán)限及添加my.conf對(duì)mysql進(jìn)行初始化:
chown -R mysql:mysql /u01/mysql3306把文件上傳到/u01/mysql3306,文件名為my.cnf
內(nèi)容如下:
[client] port=3306 socket=/u01/mysql3306/mysql.sock[mysql] pid_file=/u01/mysql3306/run/mysqld.pid[mysqld] autocommit=1 general_log=off explicit_defaults_for_timestamp=true# system basedir=/u01/mysql3306 datadir=/u01/mysql3306/data max_allowed_packet=1g max_connections=3000 max_user_connections=2800 open_files_limit=65535 pid_file=/u01/mysql3306/run/mysqld.pid port=3306 server_id=101 skip_name_resolve=ON socket=/u01/mysql3306/run/mysql.sock tmpdir=/u01/mysql3306/tmp#binlog log_bin=/u01/mysql3306/log/binlog/binlog binlog_cache_size=32768 binlog_format=row expire_logs_days=7 log_slave_updates=ON max_binlog_cache_size=2147483648 max_binlog_size=524288000 sync_binlog=100#logging log_error=/u01/mysql3306/log/error.log slow_query_log_file=/u01/mysql3306/log/slow.log log_queries_not_using_indexes=0 slow_query_log=1 log_slave_updates=ON log_slow_admin_statements=1 long_query_time=1#relay relay_log=/u01/mysql3306/log/relaylog relay_log_index=/u01/mysql3306/log/relay.index relay_log_info_file=/u01/mysql3306/log/relay-log.info#slave slave_load_tmpdir=/u01/mysql3306/tmp slave_skip_errors=OFF#innodb innodb_data_home_dir=/u01/mysql3306/log/iblog innodb_log_group_home_dir=/u01/mysql3306/log/iblog innodb_adaptive_flushing=ON innodb_adaptive_hash_index=ON innodb_autoinc_lock_mode=1 innodb_buffer_pool_instances=8#default innodb_change_buffering=inserts innodb_checksums=ON innodb_buffer_pool_size= 128M innodb_data_file_path=ibdata1:32M;ibdata2:16M:autoextend innodb_doublewrite=ON innodb_file_format=Barracuda innodb_file_per_table=ON innodb_flush_log_at_trx_commit=1 innodb_flush_method=O_DIRECT innodb_io_capacity=1000 innodb_lock_wait_timeout=10 innodb_log_buffer_size=67108864 innodb_log_file_size=1048576000 innodb_log_files_in_group=4 innodb_max_dirty_pages_pct=60 innodb_open_files=60000 innodb_purge_threads=1 innodb_read_io_threads=4 innodb_stats_on_metadata=OFF innodb_support_xa=ON innodb_use_native_aio=OFF innodb_write_io_threads=10[mysqld_safe] datadir=/u01/mysql3306/data隨后初始化mysql
./scripts/mysql_install_db --defaults-file=/u01/mysql3306/my.cnf --datadir=/u01/mysql3306/data -user=mysql如果有錯(cuò)誤,可以看日志看錯(cuò)誤。下面啟動(dòng)mysql
給linux下的mysql組權(quán)限,并切換到mysql用戶,然后啟動(dòng):
chown -R mysql:mysql /u01/mysql3306 su mysql mysql 或者 mysql -hlocalhost -uroot總結(jié)
以上是生活随笔為你收集整理的Linux笔记-centos7源码安装Mysql5.6(图解详细)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: two.js文档阅读笔记-two.js的
- 下一篇: 信息安全工程师笔记-10种端口扫描技术概