MySQL 5.6.39 二进制安装
CentOS 7 将默认数据库
这里会从系统的环境准备开始一步一步安装。MySQL
替换成了Mariadb
。
环境准备
系统版本 | 内核版本 | IP地址 |
---|---|---|
Centos 7.5 | 4.18.9-1.el7.elrepo.x86_64 | 10.0.0.3 |
备注 该系统采用MINI
最小化安装,安装之后对系统进行了最基础的优化操作,
删除系统自带的依赖包
[root@node soft]# rpm -qa | egrep 'mysql|mariadb'mariadb-libs-5.5.56-2.el7.x86_64[root@node soft]# rpm -qa | egrep 'mysql|mariadb' | xargs rpm -e --nodeps[root@node soft]# rpm -qa | egrep 'mysql|mariadb'[root@node soft]#
创建MySQL运行用户
[root@node soft]# useradd -s /sbin/nologin -M mysql[root@node soft]# grep mysql /etc/passwdmysql:x:1000:1000::/home/mysql:/sbin/nologin
下载 MySQL
可以在mirrors.163.com
的163源下载,
如果上面的下载地址失效了,则可以使用百度网盘:链接:https://pan.baidu.com/s/1Sln84TrPQhA2jyt_t51X1Q
提取码:oyxj[root@node ~]# cd /opt/soft/[root@node soft]# wget http://mirrors.163.com/mysql/Downloads/MySQL-5.6/mysql-5.6.39-linux-glibc2.12-x86_64.tar.gz[root@node soft]# lsmysql-5.6.39-linux-glibc2.12-x86_64.tar.gz# 解压[root@node soft]# tar xf mysql-5.6.39-linux-glibc2.12-x86_64.tar.gz [root@node soft]# lsmysql-5.6.39-linux-glibc2.12-x86_64 mysql-5.6.39-linux-glibc2.12-x86_64.tar.gz
配置环境变量
[root@node soft]# mv mysql-5.6.39-linux-glibc2.12-x86_64 /opt/mysql[root@node soft]# chown -R mysql.mysql /opt/mysql[root@node soft]# cd /opt/[root@node opt]# lsmysql[root@node opt]# echo 'export PATH=$PATH:/opt/mysql/bin' >> /etc/profile[root@node opt]# tail -1 /etc/profileexport PATH=$PATH:/opt/mysql/bin[root@node opt]# source /etc/profile[root@node opt]# mysql -Vmysql Ver 14.14 Distrib 5.6.39, for linux-glibc2.12 (x86_64) using EditLine wrapper
配置MySQL启动脚本并设置开机自启
二进制解压后的目录中,包括了MySQL的启动关闭脚本,可以使用,也可以自己写
systemctl
管理脚本
[root@node opt]# cd mysql/[root@node mysql]# pwd/opt/mysql[root@node mysql]# cp support-files/mysql.server /etc/init.d/mysqld[root@node mysql]# chmod +x /etc/init.d/mysqld [root@node mysql]# sed -i 's#/usr/local#/opt#g' /etc/init.d/mysqld[root@node mysql]# chkconfig --add mysqld[root@node mysql]# chkconfig mysqld on[root@node mysql]# chkconfig | grep mysqlNote: This output shows SysV services only and does not include native systemd services. SysV configuration data might be overridden by native systemd configuration. If you want to list systemd services use 'systemctl list-unit-files'. To see services enabled on particular target use 'systemctl list-dependencies [target]'.mysqld 0:off 1:off 2:on 3:on 4:on 5:on 6:off
配置文件
[root@node mysql]# pwd/opt/mysql# 配置文件[root@node mysql]# cat my.cnf [client]socket = /tmp/mysql.sockport=3306[mysql]default-character-set=utf8[mysqld]basedir=/opt/mysqldatadir=/opt/mysql/dataport=3306pid-file=/opt/mysql/mysqld.pidskip-name-resolvesocket = /tmp/mysql.sockcharacter-set-server=utf8default-storage-engine=INNODBexplicit_defaults_for_timestamp = trueserver-id=1max_connections=2000query_cache_size=0table_open_cache=2000tmp_table_size=246Mthread_cache_size=300thread_stack = 192kkey_buffer_size=512Mread_buffer_size=4Mread_rnd_buffer_size=32Minnodb_data_home_dir = /opt/mysql/datainnodb_flush_log_at_trx_commit=0innodb_log_buffer_size=16Minnodb_buffer_pool_size=256Minnodb_log_file_size=128Minnodb_thread_concurrency=128innodb_autoextend_increment=1000innodb_buffer_pool_instances=8innodb_concurrency_tickets=5000innodb_old_blocks_time=1000innodb_open_files=300innodb_stats_on_metadata=0innodb_file_per_table=1innodb_checksum_algorithm=0back_log=80flush_time=0join_buffer_size=128Mmax_allowed_packet=1024Mmax_connect_errors=2000open_files_limit=4161query_cache_type=0sort_buffer_size=32Mtable_definition_cache=1400binlog_row_event_max_size=8Ksync_master_info=10000sync_relay_log=10000sync_relay_log_info=10000bulk_insert_buffer_size = 64Minteractive_timeout = 120wait_timeout = 120log-bin-trust-function-creators=1sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES [mysqld_safe]log-error=/opt/mysql/error.logpid-file=/opt/mysql/mysqld.pid[root@node mysql]# touch /opt/mysql/error.log[root@node mysql]# chown -R mysql.mysql /opt/mysql/
MySQL 初始化
[root@node mysql]# pwd/opt/mysql[root@node mysql]# ./scripts/mysql_install_db --basedir=/opt/mysql --datadir=/opt/mysql/data --user=mysql# 下面的提示出现两个 OK 表示初始化成功。
启动 测试
[root@node mysql]# /etc/init.d/mysqld startStarting MySQL.. SUCCESS! [root@node mysql]# mysqlWelcome to the MySQL monitor. Commands end with ; or \g.Your MySQL connection id is 1Server version: 5.6.39 MySQL Community Server (GPL)Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.Oracle is a registered trademark of Oracle Corporation and/or itsaffiliates. Other names may be trademarks of their respectiveowners.Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.mysql>
查看日志
[root@node mysql]# cat error.log2018-09-29 17:27:51 19821 [Note] Plugin 'FEDERATED' is disabled.2018-09-29 17:27:51 19821 [Note] InnoDB: Using atomics to ref count buffer pool pages2018-09-29 17:27:51 19821 [Note] InnoDB: The InnoDB memory heap is disabled2018-09-29 17:27:51 19821 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins2018-09-29 17:27:51 19821 [Note] InnoDB: Memory barrier is not used2018-09-29 17:27:51 19821 [Note] InnoDB: Compressed tables use zlib 1.2.32018-09-29 17:27:51 19821 [Note] InnoDB: Using Linux native AIO2018-09-29 17:27:51 19821 [Note] InnoDB: Using CPU crc32 instructions2018-09-29 17:27:51 19821 [Note] InnoDB: Initializing buffer pool, size = 256.0M2018-09-29 17:27:51 19821 [Note] InnoDB: Completed initialization of buffer pool2018-09-29 17:27:51 19821 [Note] InnoDB: Highest supported file format is Barracuda.2018-09-29 17:27:51 19821 [Note] InnoDB: 128 rollback segment(s) are active.2018-09-29 17:27:51 19821 [Note] InnoDB: Waiting for purge to start2018-09-29 17:27:51 19821 [Note] InnoDB: 5.6.39 started; log sequence number 16266862018-09-29 17:27:51 19821 [Note] Server hostname (bind-address): '*'; port: 33062018-09-29 17:27:51 19821 [Note] IPv6 is available.2018-09-29 17:27:51 19821 [Note] - '::' resolves to '::';2018-09-29 17:27:51 19821 [Note] Server socket created on IP: '::'.2018-09-29 17:27:51 19821 [Note] /opt/mysql/bin/mysqld: ready for connections.Version: '5.6.39' socket: '/tmp/mysql.sock' port: 3306 MySQL Community Server (GPL)
至此 使用二进制包安装mysql完成