CentOS7安装mysql5.7

  1. 环境配置
    系统环境: CentOS7

数据库版本: MySQL5.7

  1. 准备工作
    先检查要安装的Linux服务器cglib版本号, 查看其是否有相应cglib版本

strings /lib64/libc.so.6 | grep GLIBC

检查本地是否安装了MySQL

rpm -qa | grep mysql

如果存在的话,卸载

rpm -e 已存在的mysql全名
下载MySQL5.7

选在下载对应版本的MySQL http://mirrors.ustc.edu.cn/mysql-ftp/Downloads/

mkdir /usr/local/mysql
cd
wget http://mirrors.sohu.com/mysql/MySQL-5.7/mysql-5.3.27-linux-glibc2.12-x86_64.tar.gz
如果没有 wget命令,先执行安装wget

yum -y install wget

  1. 创建用户
    出于安全便利,创建一个专门用于操作数据库的用户

建立一个mysql的组

groupadd mysql
建立一个mysql用户,并把用户放到mysql组中

useradd -r -g mysql mysql
设置密码

passwd mysql // 123456a?
目录更改拥有者

chown -R mysql:mysql /usr/local/mysql
4. MySQL安装
解压压缩包

tar -zxvf mysql-5.7.23-linux-glibc2.12-x86_64.tar.gz

重命名

mv mysql-5.7.23-linux-glibc2.12-x86_64/ mysql-5.7.23

配置my.cnf

[client]
port = 3306
#没有就创建
socket = /tmp/mysql.sock

[mysqld]
###############################基础设置#####################################
#Mysql服务的唯一编号 每个mysql服务Id需唯一
server-id = 1
#服务端口号 默认3306
port = 3306
#mysql安装根目录
basedir = /usr/local/mysql/mysql-5.7.23
#mysql数据文件所在位置 没有改目录则创建
datadir = /usr/local/mysql/data
#临时目录 比如load data infile会用到
tmpdir = /tmp
#设置socke文件所在目录
socket = /tmp/mysql.sock
#数据库默认字符集,主流字符集支持一些特殊表情符号(特殊表情符占用4个字节)
character-set-server = utf8mb4
#数据库字符集对应一些排序等规则,注意要和character-set-server对应
collation-server = utf8mb4_general_ci
#设置client连接mysql时的字符集,防止乱码
init_connect=‘SET NAMES utf8mb4’
default-storage-engine=INNODB
###############################日志设置#####################################
#数据库错误日志文件
log_error = /usr/local/mysql/log/error.log
pid-file=/var/log/mysqld.pid
修改 /etc/my.cnf中的内容

https://www.cnblogs.com/shamo89/p/10164427.html

注:pid-file的目录就放在/var/log 下,我尝试放到别的目录下失败了。创建完mysql.pid后,需要给mysql用户赋予权限。

touch /var/log/mysqld.log
chown -R mysql:mysql /var/log
cd log
chmod 755 mysqld.log

复制 mysql.server 到 /etc/init.d/ 目录下(目的是实现开机自动执行效果)

cd /usr/local/mysql/mysql-5.7.23/support-files/
cp mysql.server /etc/init.d/mysql
修改 /etc/init.d/mysql 中的basedir 和 datadir

初始化数据库

cd /usr/local/mysql/mysql-5.7.23/bin/

./mysqld --initialize --user=mysql --basedir=/usr/local/mysql/mysql-5.7.23 --datadir=/usr/local/mysql/data --console
数据库加密

./mysql_ssl_rsa_setup --datadir=/usr/local/mysql/data
启动MySQL

./mysqld_safe --user=mysql &
检查MySQL是否启动

ps -ef|grep mysql

  1. 进入客户端
    登录客户端

grep “temporary password” /usr/local/mysql/log/error.log # 查找临时密码
./mysql -uroot -p # 第一次进入,需要输入密码,为临时密码,可以在error.log中查找
因为我这里启动了多次,所以有多个临时密码,选用最后的 Vu0t6.qD+F8= 进入mysql

修改密码

set password=password(‘新密码’);
exit
./mysql -uroot -p // 然后输入新密码即可
设置远程访问

// 设置远程访问账号:grant all privileges on . to 远程访问用户名@’%’ identified by ‘用户密码’;
mysql> grant all privileges on . to root@’%’ identified by ‘root’;
mysql> flush privileges; // 刷新权限
满心欢喜,打开navicat链接MySQL,结果悲剧了……
代开cmd,ping ip地址,没问题,telnet ip 3306 不通,好嘛,原来没有关掉防火墙。systemctl start firewalld # 开启防火墙 systemctl stop firewalld # 关闭防火墙 systemctl status firewalld #检查防火墙状态

关闭防火墙,链接,成功了。

到此,MySQL数据库安装,启动成功。

【小记】
上面是通过关闭防火墙,其实生成环境中关闭防火墙是不允许的,可以通过防火墙添加端口实现

// 添加3306端口
firewall-cmd --zone=public --add-port=3306/tcp --permanent
// 重启防火墙
firewall-cmd --reload
// 查询防火墙开放端口
firewall-cmd --list-ports
6. 设置开机启动
添加MySQL服务

chkconfig --add mysql
设置自启动

chkconfig mysql on
7. 配置环境变量
vim /etc/profile
在最后一行添加

export PATH=$JAVA_HOME/bin:/usr/local/mysql/mysql-5.7.23/bin:$PATH

使修改生效

source /etc/profile

mysql的停止与启动:

停:
mysqladmin -uroot -p shutdown
输密码

启:
mysqld_safe &

搭建Django时踩的坑:

#都要在前面加python3

#这个缺少libmysqlclient.so.18,去网上下载个放到/usr/lib和/usr/lib64下
./manage.py makemigrations
#这个缺少sock文件,创建/tmp下sock到报错位置的软链接
./manage.py migrate
./manage.py createsuperuser #创建超级用户
./manage.py collectstatic --no-input
./manage.py compress --force

参考:
https://blog.csdn.net/zsl10/article/details/52551656?spm=1001.2101.3001.6650.2&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-2.pc_relevant_default&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-2.pc_relevant_default&utm_relevant_index=3

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值