centos7 安装MySQL5.7.30

4 篇文章 1 订阅

1.环境准备
centos7上安装mysql之前,先把系统自带的mariadb卸载掉

yum remove mariadb-libs

2.下载安装包

wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.30-linux-glibc2.12-x86_64.tar.gz

3.创建MySQL目录
# 创建以下目录,(目录位置自定义,无强制)
mysql安装路径: /usr/local/mysql/
数据路径: /data/mysql/data/
二进制路径:/data/mysql/binlog/
通讯路径: /tmp/mysql/                用来在数据库启动的时候在该目录生成sock文件
4.新建mysql用户、组及目录

groupadd mysql   #新建一个msyql组
useradd -r -s /sbin/nologin -g mysql mysql -d /usr/local/mysql #新建msyql用户禁止登录shell

5.改变目录所有者

chown -R mysql.mysql /usr/local/mysql/
chown -R mysql.mysql /tmp/mysql/
chown -R mysql.mysql /data/


6.解压安装包,配置环境变量

tar zxvf mysql-5.7.30-linux-glibc2.12-x86_64.tar.gz
mv mysql-5.7.30-linux-glibc2.12-x86_64 /usr/local/mysql/

vim /etc/profile
export PATH=/usr/local/mysql/bin:$PATH
source /etc/profile

7.数据库初始化

bin/mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql/data

参数:
--initialize-insecure 不使用mysql的密码策略,无临时密码
--user    指定用户
--basedir 指定软件路径
--datadir 指定数据路径
初始化操作会在指定的数据目录下生成mysql系统的依赖文件

8.配置文件

vim /etc/my.cnf  # mysql会自动加载该目录下的配置文件

[mysqld]
basedir=/usr/local/mysql
datadir=/data/mysql/data
server_id=10
user=mysql
log_bin=/data/mysql/binlog/mysql-bin # mysql-bin是指定的二进制文件前缀
binlog_format=row # 配置binlog以RBR模式记录
socket=/tmp/mysql/mysql.sock # 会在数据库启动的时候在该目录生成sock文件,关闭数据库后即消失
lower_case_table_names=1 #忽略大小写
character_set_server = utf8 #编码
log-error = /usr/local/mysql/logs/error.log #错误日志
general-log-file = /usr/local/mysql/logs/mysql.log

[client]
socket  = /tmp/mysql/mysql.sock

8.1mysql启动时都会去哪些路径找配置文件呢?

# 可以在mysqld的帮助信息中找到相关说明,如下
[root@db01 ~]# mysqld --help --verbose |grep my.cnf

/etc/my.cnf /etc/mysql/my.cnf /usr/local/mysql/etc/my.cnf ~/.my.cnf
注:
默认情况下,MySQL启动时,会依次读取以上配置文件,如果有重复选项,会以最后一个文件设置的为准。
但是,如果启动时加入了--defaults-file=xxxx时,以上的所有文件都不会读取.

9. 数据库启动

9.1配置启动文件

cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql

vim /etc/init.d/mysql

修改以下内容:

9.2启动

/etc/init.d/mysql start 或 service msyql start
--登陆
mysql -hlocalhost -uroot -p

--修改密码
mysql> set password=password('root');

--设置root账户的host地址(修改了才可以远程连接)
mysql>grant all privileges on *.* to 'root'@'%' identified by 'root' with grant option;
mysql>flush privileges;

9.3配置mysql自动启动

chmod 755 /etc/init.d/mysql
chkconfig --add mysql
chkconfig --level 345 mysql on

补充:

#查看mysql状态
service mysql status

#停止mysql
service mysql stop

#启动mysql
service mysql start

#开放3306端口
firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --reload

踩坑:

[root@localhost mysql]# service mysql start
Unit mysql.service could not be found.
Starting MySQL.2020-07-29T08:09:21.287816Z mysqld_safe error: log-error set to '/usr/local/mysql/logs/error.log', however file don't exists. Create writable for user 'mysql'.
 ERROR! The server quit without updating PID file (/usr/local/mysql/data/localhost.localdomain.pid).

#手动创建error.log,并重新授权,否则无法访问error.log文件
touch error.log
chown -R mysql.mysql /usr/local/mysql/logs/

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值