Centos6.8安装mysql5.8

本文详细介绍了MySQL 5.8的安装过程,包括安装依赖环境、安装前准备、安装步骤、安装后配置、数据库初始化、启动及初步配置等。此外,还给出了mysql生产环境配置文件范例,涵盖端口、字符集、主从同步、缓存等多方面配置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

安装mysql5.8

安装依赖环境:
    yum -y install  gcc gcc-c++ autoconf automake zlib* fiex* libxml* ncurses-devel libmcrypt* libtool-ltdl-devel* make cmake
    
安装前的准备:
    mkdir /opt/mysql    安装mysql的位置
    groupadd mysql        创建mysql用户组
    useradd mysql -g mysql -M -s /sbin/nologin        创建mysql用户,并加入mysql组,无家目录,无登录权限
    
安装mysql:
    解压tar包并进入,执行
    cmake -DCMAKE_INSTALL_PREFIX=/opt/mysql/ -DMYSQL_DATADIR=/opt/mysql/data/ -DSYSCONFDIR=/opt/mysql/etc -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DMYSQL_UNIX_ADDR=/opt/mysql/etc/mysql.sock -DMYSQL_TCP_PORT=3306 -DENABLED_LOCAL_INFILE=1 -DWITH_PARTITION_STORAGE_ENGINE=1 -DEXTRA_CHARSETS=all -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci
    注:# -DCMAKE_INSTALL_PREFIX=/usr/local/mysql          \    #安装路径
        # -DMYSQL_DATADIR=/usr/local/mysql/data            \    #数据文件存放位置
        # -DSYSCONFDIR=/etc                                \    #my.cnf路径
        # -DWITH_MYISAM_STORAGE_ENGINE=1                   \    #支持MyIASM引擎
        # -DWITH_INNOBASE_STORAGE_ENGINE=1                 \    #支持InnoDB引擎
        # -DWITH_MEMORY_STORAGE_ENGINE=1                   \    #支持Memory引擎
        # -DWITH_READLINE=1                                \    #快捷键功能(我没用过)
        # -DMYSQL_UNIX_ADDR=/tmp/mysqld.sock               \    #连接数据库socket路径
        # -DMYSQL_TCP_PORT=3306                            \    #端口
        # -DENABLED_LOCAL_INFILE=1                         \    #允许从本地导入数据
        # -DWITH_PARTITION_STORAGE_ENGINE=1                \    #安装支持数据库分区
        # -DEXTRA_CHARSETS=all                             \    #安装所有的字符集
        # -DDEFAULT_CHARSET=utf8                           \    #默认字符
    make &&make install

安装后配置:
        chown -R mysql.mysql /opt/mysql
        #cp /opt/mysql/support-files/my-default.cnf /etc/my.cnf
        cp /opt/mysql/support-files/mysql.server /etc/init.d/mysqld
        chmod 755 /etc/init.d/mysqld
    编辑/opt/mysql/etc/my.cnf
        [mysqld]
        basedir = /opt/mysql
        datadir = /opt/mysql/data
        port = 3306
        # server_id = .....
        socket = /opt/mysql/etc/mysql.sock        #这一行指定了mysql启动后sock文件的位置,登录本机的mysql时若报错没有发现该文件则将路径改为报错时的路径即可
        sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
        
初始化数据库(用如下一种方法即可)
    /opt/mysql/scripts/mysql_install_db --user=mysql --basedir=/opt/mysql --datadir=/opt/mysql/data
    /opt/mysql/scripts/mysql_install_db --user=mysql --basedir=/opt/mysql --datadir=/opt/mysql/data --defaults-file=/opt/mysql/etc/my.cnf
    
启动数据库及初步配置:
    /etc/init.d/mysqld start    无报错即为启动成功
    /opt/mysql/bin下有相应的mysql命令脚本,可直接使用登录或备份mysql
    mysql                        登录本机mysql
    set password=password('wang123');    给数据库root用户设置密码
        

        
####################################################################
mysql生产环境配置文件范例:
[client]
port=3306
socket=/opt/mysql/etc/mysql.sock
[mysqld]
port=3306
user=mysql
socket=/opt/mysql/etc/mysql.sock
pid-file=/opt/mysql/etc/mysql.pid
basedir=/opt/mysql
datadir=/opt/mysql/data
open_files_limit=1024        #MySQL打开的文件描述符限制,默认最小1024
explicit_defaults_for_timestamp=true    
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES        #SQL模式的参数,通过这个参数可以设置检验SQL语句的严格程度
federated
skip-name-resolve            #禁止MySQL对外部连接进行DNS解析
autocommit=1
max_connections = 1000        #最大连接数
###############################主从同步相关
server-id=1                    #主从关系的mysql主机server-id不能相同
log_slave_updates=1
slave_skip_errors = 1062
log-bin=/opt/mysql/data/log-bin/mysql-bin
relay_log=/opt/mysql/data/relay-log/mysql-relay-bin
binlog_cache_size=8M
max_binlog_cache_size=32M
max_binlog_size=128M
binlog_format=mixed            #binlog日志格式,mysql默认采用statement,建议使用mixed
sync_binlog=1                #为了安全性建议设置此项为1,表示每次提价事务都会将缓存binlog写到日志中去
log_output=FILE
log_error=mysql-error.log
slow_query_log=1
slow_query_log_file=slow_query.log
general_log=0
general_log_file=general_query.log
expire_logs_days=30            #超过30天的binlog删除
log-slave-updates = true    #将复制事件写入binlog,一台服务器既做主库又做从库此选项必须要开启
###############################buffer
max_allowed_packet=32M        #接受的数据包大小
max_heap_table_size=32M        #定义了用户可以创建的内存表的大小
net_buffer_length=8K
sort_buffer_size=1M            #MySQL执行排序使用的缓冲大小
join_buffer_size=1M            #联合查询操作所能使用的缓冲区大小
read_buffer_size=1M            #MySQL读入缓冲区大小
read_rnd_buffer_size=8M        #MySQL的随机读缓冲区大小
###############################InnoDB
innodb_data_file_path=ibdata1:2048M:autoextend
innodb_log_file_size=256M    #日志文件的大小,值越大则性能相对越高,一般64-512M
innodb_log_files_in_group=3        #为提高性能,MySQL可以以循环方式将日志文件写到多个文件。推荐设置为3
innodb_buffer_pool_size=64M        #缓存的大小,InnoDB使用一个缓冲池保存索引和原始数据
#innodb_flush_log_at_trx_commit 1    #设置提交日志的时机,若设置为1,InnoDB会在每次提交后将事务日志写到磁盘上
#############################commit
init_connect='SET autocommit=0'
transaction_isolation = READ-COMMITTED    #隔离事务类型,一般设为READ-COMMITTED
[mysql]
no-auto-rehash
default-character-set=utf8        #默认字符集类型


    
        

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值