CentOS7怎么编译安装MySQL 8.0
这篇文章主要介绍了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”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注亿速云行业资讯频道。
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。