常用软件运维部署篇(三)–安装Mysql 5.7(普通用户)
Mysql 5.7下载地址:
https://pan.baidu.com/s/1jOgpgRMA_Lx6XwgbYp2yoA
提取码:JKGD
1.1. 安装Mysql 5.7(普通用户)
1.1.1. 安装
1.将下载好的mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz上传到 /home/lamp/soft/ 目录下
2.解压 tar -zxvf mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz -C mysql-5.7.26
3.创建MySQL用户组合用户并修改权限
groupadd mysql
useradd -r -g mysql mysql
创建数据目录并赋予权限
mkdir -p /home/lamp/soft/mysql-5.7.26/data #创建目录
chown lamp:lamp -R /home/lamp/soft/mysql-5.7.26/data #赋予权限
配置my.cnf
vi /etc/my.cnf
内容如下。
[mysqld]
#(允许多个IP可访问mysql服务器,空格隔开)
#bind-address=127.0.0.1 36.105.205.243
port=3806
user=lamp
basedir=/home/lamp/soft/mysql-5.7.26
datadir=/home/lamp/soft/mysql-5.7.26/data
socket=/home/lamp/soft/mysql-5.7.26/data/mysql.sock
log-error=/home/lamp/soft/mysql-5.7.26/mysql.err
log-bin=/home/lamp/soft/mysql-5.7.26/mysql.bin
server-id=1
#log=/home/lamp/soft/mysql-5.7.26/mysql.log
#log-update=/home/lamp/soft/mysql-5.7.26/mysql.update
pid-file=/home/lamp/soft/mysql-5.7.26/mysql.pid
#character config
character_set_server=utf8mb4
symbolic-links=0
explicit_defaults_for_timestamp=true
#根据机器性能和业务需求,设置最大、最小连接数。
max_connections = 1000
#设置慢日志查询
slow_query_log=1
slow_query_log_file=/home/lamp/soft/mysql-5.7.26/atguigu-slow.log
long_query_time=3
log_output=FILE
开启日志审计功能
数据库应配置日志功能,便于记录运行状况和操作行为。
MySQL服务有以下几种日志类型:
错误日志: -log-err
查询日志: -log(可选)
慢查询日志: -log-slow-queries(可选)
更新日志: -log-update
二进制日志: -log-bin
找到MySQL的安装目录,在my.ini配置文件中增加上述所需的日志类型参数,保存配置文件后,重启 MySQL服务即可启用日志功能。例如,
#Enter a name for the binary log. Otherwise a default name will be used.
#log-bin=
#Enter a name for the query log file. Otherwise a default name will be used.
#log=
#Enter a name for the error log file. Otherwise a default name will be used.
log-error=
#Enter a name for the update log file. Otherwise a default name will be used.
#log-update=
注意:如果配置文件中配置的socket路径不在/tmp下,则需要创建软连接到/tmp下
ln -s /home/lamp/soft/mysql-5.7.26/data/mysql.sock /tmp/mysql.sock
1.1.2. 初始化数据库
进入MySQL的bin目录。
cd /home/lamp/soft/mysql-5.7.26/bin/
初始化。
[root@zuihou120 bin]# ./mysqld --user=lamp --basedir=/home/lamp/soft/mysql-5.7.26 --datadir=/home/lamp/soft/mysql-5.7.26/data --initialize
生成启动服务
cp /home/lamp/soft/mysql-5.7.26/support-files/mysql.server /etc/init.d/mysqld
初始化成功后,可在/home/lamp/soft/mysql-5.7.26/mysql.err中找到初始化密码
1.1.3. 中途报错解决
出现下面情况:linux libaio.so.1: cannot open shared object file: No such file or directory缺少安装包libaio和libaio-devel.
命令行yum install libaio*。自动安装这两个包
1.1.4. 启动mysql服务并登录修改原始密码
service mysqld start
mysql -u root -p
SET PASSWORD = PASSWORD('65dw@1334~21!;r54t*&');
ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER;
FLUSH PRIVILEGES;
1.1.5. 注册开机启动服务
注意:mysqld就是上面cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld这句生成的
chkconfig --add mysqld
chkconfig --list
添加mysql命令快捷访问 (如果不希望每次进到bin目录下使用mysql命令,则执行一下命令。)
ln -s /home/lamp/soft/mysql-5.7.26/bin/mysql /usr/bin/
#允许开机自启动
systemctl enable mysql.service
#重新加载配置
systemctl daemon-reload
#启动服务
systemctl start mysql.service
1.1.6. 限制远程登录
grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option;其中%可以替换成指定主机ip,identified by后跟密码
flush privileges;
例如
GRANT ALL PRIVILEGES ON *.* TO 'root'@'36.121.147.205' IDENTIFIED BY '65dw1@12~213!;rt*&' WITH GRANT OPTION;
flush privileges;
备注:目前电信家庭宽带的ip都是随机的不是固定的。每次重新启动光纤猫都是会随机分配ip地址的。
所以当突然连接不上数据库时,请检查下IP是否已变更。
1.1.7. 防火墙端口开放限制
若有远程调测的需求,则需要在阿里云平台的安全组中开放mysql端口3806,并限制指定的IP才能访问,避免黑客攻击。
1.1.8. 安全加固
1.1.8.1. 禁用local-infile选项访问控制
1.1.8.2. 修改默认3306端口
MYSQL 端口改为3806
接下来将持续更新内容。欢迎大家关注公众号,点击 #软件运维部署 话题即可继续阅读 常用软件运维部署篇 相关内容。若需要文章中的源码或有疑问,可以在公众号中联系客服免费获取源码或沟通疑问或联系QQ:2833536029 。