centos7安装 mysql5.7.18

Mysql 5.7.18 安装部署

安装好开发环境各种依赖包

yum groupinstall "Development tools"

安装依赖包

yum search libaio # search for info
yum install libaio # install library

新建用户组和用户

groupadd mysql
useradd mysql -g mysql

建立存放数据库目录

mkdir /data

解压包指定目录

wget http://mirrors.sohu.com/mysql/MySQL-5.7/mysql-5.7.18.tar.gz
wget http://mirrors.sohu.com/mysql/MySQL-5.7/mysql-5.7.18-linux-glibc2.5-i686.tar.gz
【625M mysql-5.7.18-linux-glibc2.5-x86_64.tar.gz】 这里使用官网编译好的二进制安装包
tar xf mysql-5.7.18-linux-glibc2.5-x86_64.tar.gz -C /data

重命名

mv mysql-5.7.18-linux-glibc2.5-x86_64 mysql5.7

创建数据目录

mkdir -p /data/mysql/data

更改所有者

chown -R mysql:mysql /data/mysql

初始化数据库

/data/mysql/bin/mysqld --user=mysql --basedir=/data/mysql/ --datadir=/data/mysql/data --initialize

初始化后记下mysql root用户随机产生的密码 pychBtXfV3-A [见底部图片样例]

拷贝启动程序文件到/etc/init.d/下面

cp support-files/mysql.server /etc/init.d/mysqld
chmod +x /etc/init.d/mysqld

修改启动脚本文件

vim /etc/init.d/mysqld
basedir=/data/mysql
datadir=/data/mysql/data

先清理一下内存缓存

sync
echo 3 > /proc/sys/vm/drop_caches

 

配置my.cnf

[client]
socket =/data/mysql/mysql.sock
default-character-set = utf8mb4
port = 3306

[mysql]
default-character-set=utf8mb4


[mysqld]
basedir=/data/mysql
datadir=/data/mysql/data
port=3306
pid-file=/data/mysql/mysqld.pid
default-time-zone = '+8:00'
log_timestamps=SYSTEM
#字符集
character-set-client-handshake = FALSE
character_set_filesystem = utf8mb4
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
init_connect = 'SET NAMES utf8mb4'
skip-character-set-client-handshake = true

#skip-grant-tables
skip-name-resolve
socket = /data/mysql/mysql.sock
character-set-server=utf8mb4
default-storage-engine=INNODB
explicit_defaults_for_timestamp = true

# Server Id
server-id=1
log-bin = mysql-bin
max_connections=2000
query_cache_size=0
table_open_cache=2000
tmp_table_size=246M
thread_cache_size=300

#logs
general_log = ON
general_log_file = /data/mysql/logs/mysql.log
log_error = /data/mysql/logs/mysql-error.log
slow_query_log = on
slow-query-log-file = /data/mysql/logs/slow-query.log
long_query_time = 2
#限定用于每个数据库线程的栈大小。默认设置足以满足大多数应用
thread_stack = 192k
key_buffer_size=512M
read_buffer_size=4M
read_rnd_buffer_size=32M
innodb_data_home_dir = /data/mysql/data
innodb_flush_log_at_trx_commit=0
innodb_log_buffer_size=16M
innodb_buffer_pool_size=256M
innodb_log_file_size=128M
innodb_thread_concurrency=128
innodb_autoextend_increment=1000
innodb_buffer_pool_instances=8
innodb_concurrency_tickets=5000
innodb_old_blocks_time=1000
innodb_open_files=300
innodb_stats_on_metadata=0
innodb_file_per_table=1
innodb_checksum_algorithm=0
back_log=80
flush_time=0
join_buffer_size=128M
max_allowed_packet=64M
max_connect_errors=2000
open_files_limit=4161
query_cache_type=0
sort_buffer_size=32M
table_definition_cache=1400
binlog_row_event_max_size=8K
sync_master_info=10000
sync_relay_log=10000
sync_relay_log_info=10000

#批量插入数据缓存大小,可以有效提高插入效率,默认为8M
bulk_insert_buffer_size = 64M
interactive_timeout = 28800
wait_timeout = 28800
log-bin-trust-function-creators=1
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

创建日志目录和文件

mkdir -p /data/mysql/logs/mysql.log
mkdir -p /data/mysql/logs/mysql-erros.log

启动mysql

Service mysqld start
#如果启动报错请注意下,日志文件要手动建立,给予mysql权限

增加环境变量

vim /etc/profile
最下面加上:
export PATH=${PATH}:/data/mysql/bin

#使环境变量生效
source /etc/profile 或者 . /etc/profile

修改密码

mysql –uroot –p
【密码为初始化数据库时给出的随机密码】

#修改密码,不然无法执行mysql相关命令操作
mysql>SET PASSWORD = PASSWORD('root');

图片为数据库初始化时候:

centos7安装 mysql5.7.18

分享