Linux 基于centos7安装mysql

一、安装前检查

1.检查本地是否有MySQL,Mariadb,并卸载。

  • centos7版本开始系统默认支持Mariadb,这是由于mysql被Oracle收购之后,mysql之父担心之后mysql会变成闭源的软件,就又开发了这个版本,支持mysql的所有功能,还增加了一些mysql没有的功能,只是和mysql相比,有些操作稍微不同。(可以把MariaDB当成是mysql的增强版本)。

语句:

#先查询出所安装的mysql/Mariadb
rpm -qa | grep mysql
#删除对应的mysql/Mariadb
rpm -e --nodeps mysql

2.删除相关目录及文件

find / -name mysql
rm -rf  XXX

3、检查mysql用户和用户租是否存在,如果没有,则创建

cat /etc/group | grep mysql
cat /etc/passwd |grep mysql
groupadd mysql
useradd -r -g mysql mysql

4、从官网下载是用于Linux的Mysql安装包,也可以从本地上传到服务器

#官网下载语句(5.7.24版本)想要其他版本可以从官网去搜索
wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz

二、安装MySQL

1、在执行wget命令的目录下/上传的目录下找到下载的mysql安装包
并制行解压命令

#在当前目录会看到该文件
mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz
#如果找不到就用find / -name mysql查找对应问价,然后mv 移动到想要放置的文件
#然后使用解压命令tar解压当前文件
tar -zxvf mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz

解压完成后,可以看到当前目录下多了一个解压文件,移动该文件到/usr/local/下,并将文件夹名称修改为mysql。

#解压后的文件名为
mysql-5.7.24-linux-glibc2.12-x86_64
#使用mv命令将其移动到/usr/local/目录下
mv mysql-5.7.24-linux-glibc2.12-x86_64 /usr/local/mysql

如果/usr/local/下已经存在mysql,请将已存在mysql文件修改为其他名称,否则后续步骤可能无法正确进行。

2、在/usr/local/mysql目录下创建data目录

mkdir /usr/local/mysql/data

3、更改mysql目录下所有的目录及文件夹所属的用户组和用户,以及权限

chown -R mysql:mysql /usr/local/mysql
chmod -R 755 /usr/local/mysql
#如果报错提示没有该用户,用户组,请重新制行
# groupadd mysql
# useradd -r -g mysql mysql

4、编译安装并初始化mysql,务必记住初始化输出日志末尾的密码(数据库管理员临时密码,需要修改)

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

在这里插入图片描述
找到刚刚执行完毕后弹出的日志,后面则是初始化的管理员密码,要记住它,后面会用到,我的是 so=itqPGP5*m(:后面的所有字符,不要漏)

三、补充

5、编辑配置文件my.cnf,添加配置如下(如果数据库正在运行,修改完成后需要重启mysql才能生效)

#进入文件
vim /etc/my.cnf
#修改为
[mysqld]
datadir=/usr/local/mysql/data	#data目录
port = 3306						#默认3306,不建议修改
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES	#是一组mysql支持的基本语法及校验规则,受字数限制,建议百度sql_mode
symbolic-links=0				#是否支持符号链接,即数据库或表可以存储在my.cnf中指定datadir之外的分区或目录,为0不开启
max_connections=400
innodb_file_per_table=1			#是否将每个表的数据单独存储,1表示单独存储;0表示关闭独立表空间
lower_case_table_names=1		#是否区分大小写,1表示存储时表名为小写,操作时不区分大小写;0表示区分大小写;不能动态设置,修改后,必须重启才能生效
character_set_server=utf8		#设置数据库默认字符集,如果不设置默认为latin1
max_connections=1500
#指定MySQL允许的最大连接进程数。如果在访问数据库时经常出现"Too Many Connections"的错误提 示,则需要增大该参数值。
max_connect_errors=10000
#如果某个用户发起的连接 error 超过该数值,则该用户的下次连接将被阻塞,直到管理员执行 flush hosts ; 命令或者服务重启, 防止黑客 , 非法的密码以及其他在链接时的错误会增加此值
connect-timeout=10 
#连接超时之前的最大秒数,在 Linux 平台上,该超时也用作等待服务器首次回应的时间
wait-timeout=28800 
#等待关闭连接的时间
interactive_timeout=28800
#关闭连接之前,允许 interactive_timeout(取代了wait_timeout)秒的不活动时间。客户端的会话 wait_timeout 变量被设为会话interactive_timeout 变量的值。如果前端程序采用短连接,建议缩短这2个值, 如果前端程序采用长连接,可直接注释掉这两个选项,默认配置(8小时) 
#设置client连接mysql时的字符集,防止乱码
#init_connect=‘SET NAMES utf8mb4‘ 

6、启动mysql服务器

/usr/local/mysql/support-files/mysql.server start

当结果如下所示时,则启动成功
在这里插入图片描述

7、添加软连接,并重启mysql服务

ln -s /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql 
ln -s /usr/local/mysql/bin/mysql /usr/bin/mysql
service mysql restart

8、登录mysql,修改密码(密码为刚刚保存的临时密码)

mysql -u root -p

#登陆完成后修改密码用自己的密码替换掉括号里的XXX
set password for root@localhost = password('XXX');

9、开放远程连接

mysql>use mysql;
msyql>update user set user.Host='%' where user.User='root';
mysql>flush privileges;
#执行完后,通过本地数据库客户端就可以连上数据库

10、设置开机自动启动

#1、将服务文件拷贝到init.d下,并重命名为mysql
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
#2、赋予可执行权限
chmod +x /etc/init.d/mysqld
#3、添加服务
chkconfig --add mysqld
#4、显示服务列表
chkconfig --list

结语

以上就是mysql的安装过程,后续会更新基于docker安装mysql

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值