1. mysql 安装方式
在 centos 环境下,mysql 安装部署主要是 yum 或二进制包安装,在其他 linux 发行版也有类似的安装方式,通过包管理器进行安装,相对来说比较方便。如果是简单测试,还可以通过 docker 来配置,更加简单。
总结下来,主要有下面几种安装部署方式
1. 包管理器安装,yum 或 apt 等
2. 二进制包安装
3. 源码编译安装
4. docker 拉取镜像进行配置
下面主要介绍在 centos 环境下使用 yum 安装的一些简单配置
2. 安装包下载
配置 yum 仓库下载
参考:https://dev.mysql.com/downloads/repo/yum/
在 mysql 官方网站进行 rpm 包下载,下载地址:
https://dev.mysql.com/downloads/mysql/
上面的地址只能看到最新稳定版的,我们要下载的 5.7 版本属于老版本,要在历史归档里面查找
https://downloads.mysql.com/archives/community/
wget https://cdn.mysql.com/archives/mysql-5.7/mysql-5.7.37-1.el7.x86_64.rpm-bundle.tar
tar -xvf mysql-5.7.37-1.el7.x86_64.rpm-bundle.tar
yum localinstall -y ./mysql-community-*.rpm
复制代码
3. 简单配置与初始化
rpm 包安装完之后,配置文件在/etc/my.cnf,服务配置文件在/usr/lib/systemd/system/mysqld.service。
修改/etc/my.cnf 配置文件
[mysqld@3306]
# 这个配置段配置的是3306这个mysql实例的参数,如果有多实例,比如加一个3307的mysql,再加一个配置段,参考下面的配置稍微改一下就行
innodb_buffer_pool_size = 5000M
# server_id的值,局域网内,不同实例的值要设置为不同的
server_id=106
#log_slave_updates=1
port = 3306
datadir=/home/my3306
socket=/home/my3306/mysql.sock
log-error=/home/my3306/mysqld.log
pid-file=/home/my3306/mysqld.pid
log_bin=mysql-201-binlog
# gitid最好是开启
gtid_mode=ON
enforce-gtid-consistency=ON
max_connections=2048
slow_query_log=ON
binlog_format=row
skip-name-resolve
log-slave-updates=1
relay_log_purge=0
back_log=128
wait_timeout=60
interactive_timeout=7200
key_buffer_size=16M
#query_cache_size=64M
#query_cache_type=1
#query_cache_limit=50M
max_connect_errors=20
sort_buffer_size=2M
max_allowed_packet=32M
join_buffer_size=2M
thread_cache_size=200
innodb_buffer_pool_size=1024M
innodb_flush_log_at_trx_commit=1
innodb_log_buffer_size=32M
innodb_log_file_size=128M
innodb_log_files_in_group=3
binlog_cache_size=2M
max_binlog_cache_size=8M
max_binlog_size=512M
expire_logs_days=7
read_buffer_size=2M
read_rnd_buffer_size=2M
bulk_insert_buffer_size=8M
复制代码
数据目录已经设置好了,下面就是新建目录,授权
mkdir -pv /home/my3306
chown -R mysql.mysql /home/my3306
复制代码
启动 mysql
systemctl start mysqld@3306
# 注意,不是systemctl start mysqld,因为后面要考虑mysql多实例
复制代码
获取初始密码
cd /home/my3306
grep pass mysqld.log
复制代码
使用初始密码登录,修改 root 密码,用户授权
mysql -uroot -S /home/my3306/mysql.sock -p
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'Root@1234';
复制代码
新用户授权
use mysql;
create user user01@'172.16.0.%' identified by 'Root@1234';
grant all privileges on *.* to user01@'10.91.0.%' with grant option;
# 或者是
grant all privileges on *.* to 'user02'@'172.16.0.%' identified by 'Root@1234' with grant option;
grant all privileges on test.* to 'user03'@'172.16.0.%' identified by 'Root@1234' with grant option;
grant select on test.* to 'user04'@'172.16.0.%' identified by 'Root@1234' with grant option;
复制代码
根据需要进行授权即可
注意:mysql 5.7 默认的密码认证加密插件还是 mysql_native_password。
以上就完成了 mysql5.7 的安装部署。
mysql 3306 服务管理方式如下
# 设置服务开机启动
systemctl enable mysqld@3306
# 重启服务
systemctl restart mysqld@3306
# 启动
systemctl start mysqld@3306
# 停止
systemctl stop mysqld@3306
复制代码
评论