centos7安装mysql5.7
1.下载地址
https://dev.mysql.com/downloads/mysql/5.7.html#downloads(下载最新版本)
这里选择x86-64版本
2.安装
将安装包上传到/usr/local/src路径
解压安装包(这里以mysql5.7.30版本为例)
tar -zxvf mysql-5.7.30-linux-glibc2.12-x86_64.tar.gz
移动至/usr/local/路径,并重新命名
mv mysql-5.7.30-linux-glibc2.12-x86_64 /usr/local/mysql
创建mysql用户组和用户并修改权限
groupadd mysql
useradd -r -g mysql mysql
chown mysql:mysql -R mysql
设置mysql配置文件my.cnf
vim /etc/my.cnf
[mysqld]
bind-address=0.0.0.0 #绑定的IP
port=3306 #mysql占用的端口
basedir=/usr/local/mysql #mysql安装目录
datadir=/usr/local/mysql/data #mysql数据目录
socket=/tmp/mysql.sock #socket位置
log-error=/usr/local/mysql/logs/mysql.err #error日志路径
pid-file=mysql.pid #进程id文件
#character config
character_set_server=utf8mb4 #编码格式
symbolic-links=0 #关闭符号链接
explicit_defaults_for_timestamp=true
lower_case_table_names=1 #不区分大小写
log_bin =/data/mysql/binlog/mysql-bin #logbin文件路径
binlog_format=row #binlog
max_connections =1024 #mysql最大连接数
server-id=1 #数据库服务器ID,配置主从或者集群时 server id必须唯一
sync_binlog=1 #二进制日志文件刷新到磁盘上
expire_logs_days = 30 #binlog日志 超过30天的自动清理
slow_query_log = 1 #启用慢查询日志
long_query_time = 2 #慢查询时间
slow_query_log_file=/data/mysql/logs/slow.log #慢查询日志路径
初始化数据库(进入数据库的bin目录)
cd /usr/local/mysql/bin
查看是否存在老版本数据库
rpm -qa | grep mariadb
存在老版本数据库防止抢占启动
删除掉老版本
rpm -e --nodeps mariadb-libs-5.5.60-1.el7_5.x86_64
使用-initialize会生成随机密码,使用-initialize-insecure生成空密码,这里选择生成空密码。
/usr/local/mysql/bin/mysqld --initialize-insecure --user=mysql
将mysql.server放置到/etc/init.d/mysql中
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
使其永久生效,把安装目录添加至环境变量
vim /etc/profile
文件最后一行添加进去
export PATH=$PATH:/usr/local/mysql/bin
重启生效
source /etc/profile
启动mysql(进入/usr/local/mysql/bin/路径启动)
service mysql start(stop关闭 restart重启)
查看mysql启动状态
ps -ef|grep mysql
3.登录
登录mysql(用户名root 第一次登录无需输入密码直接回车进入)
mysql -u root(用户名) -p (密码)
进入mysql设置密码
SET PASSWORD = PASSWORD('密码');
密码永不过期
ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER;
刷新mysql的系统权限
FLUSH PRIVILEGES;
如果使用Navicat无法远程连接
登录mysql进行以下命令
use mysql; #访问mysql库
update user set host = '%' where user = 'root'; #使root能再任何host访问
FLUSH PRIVILEGES; #刷新
再次连接便会连接成功
3.mysql常用命令
show databases; #显示所有数据库
show tables; #显示数据库所有表
drop database 数据库; #删除数据库
数据导入
create database 数据库; #创建数据库
use 数据库; #进入数据库
set names utf8; #设置编码
source /usr/local/src/*.sql; # 导入数据库