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.tartar -xvf mysql-5.7.37-1.el7.x86_64.rpm-bundle.taryum 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 = 3306datadir=/home/my3306socket=/home/my3306/mysql.socklog-error=/home/my3306/mysqld.logpid-file=/home/my3306/mysqld.pidlog_bin=mysql-201-binlog
# gitid最好是开启gtid_mode=ONenforce-gtid-consistency=ON
max_connections=2048slow_query_log=ON
binlog_format=rowskip-name-resolve
log-slave-updates=1relay_log_purge=0back_log=128wait_timeout=60interactive_timeout=7200key_buffer_size=16M#query_cache_size=64M#query_cache_type=1#query_cache_limit=50Mmax_connect_errors=20sort_buffer_size=2Mmax_allowed_packet=32Mjoin_buffer_size=2Mthread_cache_size=200innodb_buffer_pool_size=1024Minnodb_flush_log_at_trx_commit=1innodb_log_buffer_size=32Minnodb_log_file_size=128Minnodb_log_files_in_group=3binlog_cache_size=2Mmax_binlog_cache_size=8Mmax_binlog_size=512Mexpire_logs_days=7read_buffer_size=2Mread_rnd_buffer_size=2Mbulk_insert_buffer_size=8M
复制代码
数据目录已经设置好了,下面就是新建目录,授权
mkdir -pv /home/my3306chown -R mysql.mysql /home/my3306
复制代码
启动 mysql
systemctl start mysqld@3306# 注意,不是systemctl start mysqld,因为后面要考虑mysql多实例
复制代码
获取初始密码
cd /home/my3306grep 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
复制代码
评论