centos安装mysql5.8

安装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/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 #默认字符集类型

你可能感兴趣的:(centos安装mysql5.8)