CentOS7.4下安装MySQL5.7
安装前准备
移除centos7自带MariaDB
有时我们要在centos上安装一些组件,需要先把原来的数据库删除,比如MariaDB,不然就出现冲突错误
[root@alycentos /]# rpm -qa | grep Maria*
MariaDB-server-5.5.49-1.el7.centos.x86_64
卸载数据库:
[root@alycentos /]# yum -y remove mari*
删除数据库文件:
[root@alycentos /]# rm -rf /var/lib/mysql/*
再查看一下还有没有残留
[root@alycentos /]# rpm -qa | grep Maria*
创建文件夹
[root@alycentos /]# mkdir /usr/local/mysql
[root@alycentos /]# mkdir /usr/local/mysql/data
创建用户与用户组
[root@alycentos /]# groupadd mysql
[root@alycentos /]# useradd -g mysql -m mysql
[root@alycentos /]# passwd mysql
将离线安装包传到服务器,并解压至usr/local/mysql,解压命令
[root@alycentos /]# tar -zxvf [file_name] -C /usr/local/mysql
修改文件所属
[root@alycentos /]# chown -R mysql:mysql /usr/local/mysql
环境变量
[root@alycentos /]# vi /etc/profile
## 配置mysql环境
export PATH=$PATH:/usr/local/mysql/bin
编辑配置文件my.cnf
[root@alycentos /]# vi /etc/my.cnf
[mysqld]
#sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
port=3306
pid-file = /usr/local/mysql/data/mysql.pid
user = mysql
socket= /usr/local/mysql/data/mysql.sock
bind-address = 0.0.0.0
server-id = 1
character-set-server = utf8
max_connections = 1000
max_connect_errors = 6000
open_files_limit = 65535
table_open_cache = 128
max_allowed_packet = 4M
binlog_cache_size = 1M
max_heap_table_size = 8M
tmp_table_size = 16M
read_buffer_size = 2M
read_rnd_buffer_size = 8M
sort_buffer_size = 8M
join_buffer_size = 8M
key_buffer_size = 4M
thread_cache_size = 8
query_cache_type = 1
query_cache_size = 8M
query_cache_limit = 2M
ft_min_word_len = 4
log_bin = mysql-bin
binlog_format = mixed
expire_logs_days = 30
log_error = /usr/local/mysql/data/mysql-error.log
slow_query_log = 1
long_query_time = 1
slow_query_log_file = /usr/local/mysql/data/mysql-slow.log
performance_schema = 0
explicit_defaults_for_timestamp
#lower_case_table_names = 1
skip-external-locking
default_storage_engine = InnoDB
#default-storage-engine = MyISAM
innodb_file_per_table = 1
innodb_open_files = 500
innodb_buffer_pool_size = 64M
innodb_write_io_threads = 4
innodb_read_io_threads = 4
innodb_thread_concurrency = 0
innodb_purge_threads = 1
innodb_flush_log_at_trx_commit = 2
innodb_log_buffer_size = 2M
innodb_log_file_size = 32M
innodb_log_files_in_group = 3
innodb_max_dirty_pages_pct = 90
innodb_lock_wait_timeout = 120
bulk_insert_buffer_size = 8M
myisam_sort_buffer_size = 8M
myisam_max_sort_file_size = 10G
myisam_repair_threads = 1
interactive_timeout = 28800
wait_timeout = 28800
#lower_case_table_names = 1
skip-external-locking
default_storage_engine = InnoDB
#default-storage-engine = MyISAM
innodb_file_per_table = 1
innodb_open_files = 500
innodb_buffer_pool_size = 64M
innodb_write_io_threads = 4
innodb_read_io_threads = 4
innodb_thread_concurrency = 0
innodb_purge_threads = 1
innodb_flush_log_at_trx_commit = 2
innodb_log_buffer_size = 2M
innodb_log_file_size = 32M
innodb_log_files_in_group = 3
innodb_max_dirty_pages_pct = 90
innodb_lock_wait_timeout = 120
bulk_insert_buffer_size = 8M
myisam_sort_buffer_size = 8M
myisam_max_sort_file_size = 10G
myisam_repair_threads = 1
interactive_timeout = 28800
wait_timeout = 28800
[client]
port=3306
socket = /usr/local/mysql/data/mysql.sock
[mysql]
socket = /usr/local/mysql/data/mysql.sock
初始化
[root@alycentos /]# cd /usr/local/mysql/bin
## mysql初始化
[root@alycentos /]# mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --explicit_defaults_for_timestamp
执行完后,记录临时密码
启动数据库
[root@alycentos /]# cd /usr/local/mysql/support-files
## mysql启动
[root@alycentos /]# ./mysql.server start
初始化修改root账户密码与添加外网登录权限
将mysql设置为开机启动
[root@alycentos ~]# touch /usr/lib/systemd/system/mysqld.service
[root@alycentos ~]# cd /usr/lib/systemd/system
[root@alycentos system]# vi mysqld.service
添加如下内容
[Unit]
Description=MySQL Server
After=network.target
[Install]
WantedBy=multi-user.target
[Service]
Type=forking
TimeoutSec=0
PermissionsStartOnly=true
ExecStart=/usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf --daemonize
LimitNOFILE = 65535
Restart=on-failure
RestartSec=3
RestartPreventExitStatus=1
PrivateTmp=false
执行命令完成开机自启
[root@alycentos system]# systemctl enable mysqld.service
## 加载新配置的服务
[root@alycentos system]# systemctl reload-daemon
mysql5.7下载链接
链接:https://pan.baidu.com/s/1VOzT7QWEzR51OesO7HMPwQ 密码:a989