千家信息网

Linux系统安装Mysql 5.7.22

发表于:2024-09-23 作者:千家信息网编辑
千家信息网最后更新 2024年09月23日,MySQL 5.7.22安装mysql5.7.22的安装包下载地址:https://dev.mysql.com/downloads/mysql/5.7.html#downloads此处根据自己实际环境
千家信息网最后更新 2024年09月23日Linux系统安装Mysql 5.7.22

MySQL 5.7.22安装

mysql5.7.22的安装包下载地址:

https://dev.mysql.com/downloads/mysql/5.7.html#downloads

此处根据自己实际环境进行选择,本文选择的是通用的tar包来进行安装。

安装前环境准备

SElinux要关闭

vi /etc/selinux/config

确认 SELINUX=disabled ,如果不是,请将该参数改为 disabled 并保存后重新启动操作系统


关闭操作系统防火墙

查询当前系统防火墙的状态

[root@linux6 ios]# service iptables status


关闭防火墙服务

[root@linux6 ios]# service iptables stop


配置防火墙永久关闭

[root@linux6 ios]# chkconfig --level 2345 iptables off

或者

[root@linux6 ios]# chkconfig iptables off


修改系统的I/O调度为 deadline模式

查询当前系统的调度模式

[root@linux6 ios]# cat /sys/block/sda/queue/scheduler


默认是cfq模式,其中命令的sda是当前系统的磁盘符,如果有多个磁盘也都查询

修改I/O调度为deadline模式,修改/etc/grub.conf(或者/boot/grub/menu.lst)增加 elevator=deadline,然后重启操作系统

rhgb quiet之前,添加elevator=deadline

kernel /vmlinuz-2.6.32-642.el6.x86_64 ro root=UUID=10c712fb-a82a-4afd-9e7a-1fa2475e8091 rd_NO_LUKS rd_NO_LVM LANG=en_US.UTF-8 rd_NO_MD SYSFONT=latarcyrheb-sun16 KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM elevator=deadline rhgb quiet


设置swap分区的配置

swappiness的值的大小对如何使用swap分区是有着很大的联系的。swappiness=0的时候表示最大限度使用物理内存,然后才是 swap空间,swappiness100的时候表示积极的使用swap分区,并且把内存上的数据及时的搬运到swap空间里面

建议:如果内存足够大,而且服务器上面也只运行了该mysql数据库,则可以设置该值偏小。

默认swappiness60

[root@linux6 ~]# cat /proc/sys/vm/swappiness

60

如果要修改,则编辑/etc/sysctl.conf,加入vm.swappiness = 60就可以

修改完成了,执行

[root@linux6 ~]# sysctl -p

使参数生效

文件系统的选择

推荐使用xfs文件系统

修改操作系统的限制

修改limit.conf增加配置

[root@linux6 ios]# cat /etc/security/limits.conf


numa关闭

推荐在mysql启动前使用参数来关闭

例如

numactl -interleave=all /usr/local/mysql/bin/mysqld_safe -defaults-file=/etc/my.cnf &

关于numa,可以参考:

http://cenalulu.github.io/linux/numa/

开始安装

创建Mysql用户和组

[root@linux6 Mysql5.7.22]# groupadd mysql

[root@linux6 Mysql5.7.22]# useradd -g mysql mysql

mysql的安装包放在/usr/local下,并且解压

[root@linux6 ~]# cd /usr/local/

[root@linux6 local]# tar -zxvf mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz


给解压的mysql软件包,做软连接

[root@linux6 local]# ln -s mysql-5.7.22-linux-glibc2.12-x86_64 mysql


mysql目录授权

[root@linux6 local]# chown mysql.mysql -R mysql

创建mysql数据库的数据目录(datadir)

[root@linux6 Mysql5.7.22]# mkdir -p /data/mysql

[root@linux6 Mysql5.7.22]#

并且赋予mysql的权限

[root@linux6 Mysql5.7.22]# chown -R mysql.mysql /data/mysql

[root@linux6 Mysql5.7.22]#

配置my.cnf文件

此处可以根据实际的环境进行相关的配置

初始化数据库

[root@linux6 etc]# cd /usr/local/mysql/bin/

[root@linux6 bin]#

[root@linux6 bin]# ./mysqld --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql --datadir=/data/mysql --user=mysql --initialize

此处采用了参数 --initialize,表示会生成一个临时的数据库初始密码,记录在log-error(错误日志)里面。

此处是两个横杆-initialize,不是一个横杆。

启动数据库

[root@linux6 bin]# pwd

/usr/local/mysql/bin

[root@linux6 bin]# numactl --interleave=all ./mysqld_safe --defaults-file=/etc/my.cnf &

以禁用numa的方式启动mysql

查看mysql的状态


获取初始数据库密码

数据库启动成功之后,进入数据库的初始化密码会在/data/mysql/error.log

[root@linux6 mysql]# cat /data/mysql/error.log | grep password

2018-06-12T07:43:15.875584Z 1 [Note] A temporary password is generated for root@localhost: !y#Yy,wC&4G(


修改数据库root密码

根据上面步骤获取到的初始化密码,进入数据库修改密码

[root@linux6 bin]# ./mysql -uroot -p

Enter password:

Welcome to the MySQL monitor. Commands end with ; or \g.

Your MySQL connection id is 4

Server version: 5.7.22-log

Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its

affiliates. Other names may be trademarks of their respective

owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

root@db 15:53: [(none)]> set password = 'mysql';

Query OK, 0 rows affected (0.00 sec)

root@db 15:53: [(none)]> flush privileges;

Query OK, 0 rows affected (0.01 sec)

root@db 15:53: [(none)]>

安装报错集

初始化后,无法启动mysql数据库

查询error.log日志,发现如下报错:


查询数据文件目录/data/mysql


确实没有生成mysql实例的数据文件。

定位问题应该是初始化有问题,后面查询了初始化命令:

./mysqld --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql --datadir=/data/mysql --user=mysql -initialize

其中的initialize前面只有一个横杆,导致了这个问题。

数据 数据库 系统 密码 查询 文件 配置 操作系统 参数 模式 防火墙 防火 内存 横杆 环境 目录 问题 调度 选择 命令 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 手机app软件开发简单吗 艾尔登法环为什么连接不到服务器 天津软件开发解决方案服务 用于互联网的数据库 服务器里的文件浏览记录可以查吗 奥鹏网络技术与应用考试 涉密网络安全防护的要求 系统和网络安全防范 网络安全防范教育课件 软件开发自学哪里学习 迪尚互联网科技公司 路北区项目网络技术售后服务 申论作文网络安全 mysql 数据库 导出 戴尔r740服务器带外管理配置 麒麟v10服务器远程桌面 db2查看当前数据库表 软件开发租户覆盖 移动互联网高科技有限公司 公司局域网如何建服务器 正式服罗宁服务器 软件开发简单但完成不了的需求 关系型数据库数据结构变动 市网络安全应急指挥中心值得去吗 中兴it服务器 北京专业回收服务器虚拟主机 wdcp远程访问数据库 免费网站服务器樱花 考勤管理系统 数据库设计 华为云服务器私有镜像
0