这篇文章主要介绍了CentOS7怎么编译安装MySQL 8.0的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇CentOS7怎么编译安装MySQL 8.0文章都会有所收获,下面我们一起来看看吧。

CentOS编译安装MySQL的教程网上有很多,基本上大同小异。但是安装软件有时就可能因为一个细节安装失败。

0.前期准备条件

•查看linux的版本

[root@mysqletc]#cat/etc/RedHat-releaseCentOSLinuxrelease7.3.1611(Core)•CouldNOTfindCursesyuminstallncurses-devel•BisonexecutablenotfoundinPATHyuminstallbison

备注: 安装过程中会缺少基础包,本实例环境缺少上述包,先提前安装相应的包

1.cmake的源编译安装

[root@dbsoftware]#nohuptarzxvfcmake-3.11.1.tar.gz&[root@dbsoftware]#cdcmake-3.11.1[root@dbcmake-3.11.1]#./configure[root@localhostcmake-3.0.1]#gmake&&makeinstall

2.wolfssl包的部署安装[可选项]

*.从wolfssl.com网站下载wolfssl-3.13.0.zip压缩包*.解压至/data/software/mysql-8.0.11/extra/wolfssl-3.13.0目录中。*.cdextra/wolfssl-3.13.0/IDE/MYSQL*.执行do.sh脚本*.use-DWITH_SSL=wolfsslforCMake


3.openssl和openssl-devel[本实验使用的是system ssl]

yuminstall–yopensslopenssl-devel


4.mysql的编译安装

[root@mysqlsoftware]#tarzxvfmysql-8.0.11.tar.gz[root@mysqlsoftware]#cdmysql-8.0.11/[root@mysqlsoftware]#mkdirZdebug[root@mysqlsoftware]#cdZdebugcmake..-DCMAKE_INSTALL_PREFIX=/usr/local/mysql\-DDEFAULT_CHARSET=utf8\-DDEFAULT_COLLATION=utf8_general_ci\-DENABLED_LOCAL_INFILE=ON\-DWITH_INNODB_MEMCACHED=ON\-DWITH_SSL=system\-DWITH_INNOBASE_STORAGE_ENGINE=1\-DWITH_FEDERATED_STORAGE_ENGINE=1\-DWITH_BLACKHOLE_STORAGE_ENGINE=1\-DWITH_ARCHIVE_STORAGE_ENGINE=1\-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1\-DWITH_PERFSCHEMA_STORAGE_ENGINE=1\-DCOMPILATION_COMMENT="zsdedition"\-DDOWNLOAD_BOOST=1\-DWITH_BOOST=/tmp\-DMYSQL_UNIX_ADDR=/data/mysqldata/3306/mysql.sock\-DSYSCONFDIR=/data/mysqldata/3306>/data/software/mysql-8.0.11/Zdebug/mysql_cmake80.log2>&1

出现下列日志:

............--Configuringdone--Generatingdone--Buildfileshavebeenwrittento:/data/software/mysql-8.0.11/Zdebug............

说明编译成功,其中-DWITH_SSL=system用的是linux操作系统的openssl,需要安装openssl和openssl-devel包,才可以被编译

如果需要编译安装快速,可以运用多线程加快编译安装,命令如下:

make-j12makeinstall

•MySQL 8.0的软件目录结构

[root@mysqlZdebug]#cd/usr/local/mysql/[root@mysqlmysql]#ls-ltotal612drwxr-xr-x.2rootroot4096May1614:20bindrwxr-xr-x.2rootroot55May1614:20docsdrwxr-xr-x.3rootroot266May1614:20includedrwxr-xr-x.4rootroot173May1614:20lib-rw-r--r--.1rootroot301518Apr814:44LICENSE-rw-r--r--.1rootroot301518Apr814:44LICENSE-testdrwxr-xr-x.4rootroot30May1614:20mandrwxr-xr-x.10rootroot4096May1614:21mysql-test-rw-r--r--.1rootroot687Apr814:44README-rw-r--r--.1rootroot687Apr814:44README-testdrwxr-xr-x.28rootroot4096May1614:21sharedrwxr-xr-x.2rootroot90May1614:21support-files

5.创建mysql用户&并修改相关文件

[root@mysqlmysql]#groupaddmysql[root@mysqlmysql]#useradd-gmysqlmysql

6.设置用户操作系统资源的限制

[root@localhostcmake-3.0.1]#vi/etc/security/limits.confmysqlsoftnproc65536mysqlhardnproc65536mysqlsoftnofile65536mysqlhardnofile65536

验证limit是否生效

[root@mysql~]#su-mysql[mysql@mysql~]$ulimit-a

日志如下:

openfiles(-n)65536maxuserprocesses(-u)65536............

7.创建MySQL数据目录及赋予相应权限

#cd/data/#mkdir-p/data/mysqldata/{3306/{data,tmp,binlog,innodb_ts,innodb_log},backup,scripts}#chown-Rmysql:mysqlmysqldata#su-mysql

8.配置my.cnf文件

$vi/data/mysqldata/3306/my.cnf[client]port=3306socket=/data/mysqldata/3306/mysql.sock#TheMySQLserver[mysqld]port=3306user=mysqlsocket=/data/mysqldata/3306/mysql.sockpid-file=/data/mysqldata/3306/mysql.pidbasedir=/usr/local/mysqldatadir=/data/mysqldata/3306/datatmpdir=/data/mysqldata/3306/tmpopen_files_limit=60000explicit_defaults_for_timestampserver-id=1203306lower_case_table_names=1character-set-server=utf8federated#sql_mode=STRICT_TRANS_TABLESmax_connections=1000max_connect_errors=100000interactive_timeout=86400wait_timeout=86400sync_binlog=0back_log=100default-storage-engine=InnoDBlog_slave_updates=1#***********Logsrelatedsettings***********log-bin=/data/mysqldata/3306/binlog/mysql-binbinlog_format=mixedbinlog_cache_size=32mmax_binlog_cache_size=64mmax_binlog_size=512mlong_query_time=1log_output=FILElog-error=/data/mysqldata/3306/mysql-error.logslow_query_log=1slow_query_log_file=/data/mysqldata/3306/slow_statement.log#log_queries_not_using_indexesgeneral_log=0general_log_file=/data/mysqldata/3306/general_statement.log#expire-logs-days=14binlog_expire_logs_seconds=1728000relay-log=/data/mysqldata/3306/binlog/relay-binrelay-log-index=/data/mysqldata/3306/binlog/relay-bin.index#******MySQLReplicationNewFeature*********master-info-repository=TABLErelay-log-info-repository=TABLErelay-log-recovery#***********INNODBSpecificoptions***********innodb_buffer_pool_size=2048Mtransaction-isolation=REPEATABLE-READinnodb_buffer_pool_instances=8innodb_file_per_table=1innodb_data_home_dir=/data/mysqldata/3306/innodb_tsinnodb_data_file_path=ibdata1:2048M:autoextendinnodb_thread_concurrency=8innodb_log_buffer_size=16Minnodb_log_file_size=128Minnodb_log_files_in_group=3innodb_log_group_home_dir=/data/mysqldata/3306/innodb_loginnodb_flush_log_at_trx_commit=2innodb_max_dirty_pages_pct=70innodb_flush_method=O_DIRECT[mysql]no-auto-rehashdefault-character-set=gbkprompt=(\u@\h)[\d]>\_

9.初始化MySQL数据库

$/usr/local/mysql/bin/mysqld--defaults-file=/data/mysqldata/3306/my.cnf--initialize--user=mysql

10.启动mysql服务

$/usr/local/mysql/bin/mysqld_safe--defaults-file=/data/mysqldata/3306/my.cnf--user=mysql&

11.登陆数据库

备注:密码来自于error log日志,明细如下:

2018-05-16T07:17:57.335486Z5[Note][MY-010454][Server]Atemporarypasswordisgeneratedforroot@localhost:jlocal/mysql/bin/mysql-uroot-p'j

12.数据库一些基本权限配置

修改root账号密码:

ALTERUSER'root'@'localhost'IDENTIFIEDWITHsha256_passwordBY'zsd@7101'PASSWORDEXPIREINTERVAL360DAY;

查看目前的用户账号

(root@localhost)[(none)]>selectuser,hostfrommysql.user;+------------------+-----------+|user|host|+------------------+-----------+|mysql.infoschema|localhost||mysql.session|localhost||mysql.sys|localhost||root|localhost|+------------------+-----------+

关于“CentOS7怎么编译安装MySQL 8.0”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“CentOS7怎么编译安装MySQL 8.0”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注亿速云行业资讯频道。