十分钟自动执行一次_不用Docker也能十分钟搞定MySQL5.7的安装

我们经常会在Linux上安装MySQL数据库,但是安装的时候总是会这里错,那里错,不顺利,今天整理了一下安装流程,连续安装来了两遍,没有遇到什么大错误,基本上十分钟左右可以搞定,教程如下。当然有些用户可能想要用docker的方式安装,用docker的话更加简单,我也有相应的博文:Docker安装MySQL完整版流程,大家有需要的话可以点击原文参考参考,下面开始!

一、环境

Linux version 3.10.0-957.el7.x86_64mysql-5.7.30-linux-glibc2.12-x86_64.tar

mysql版本可以去https://dev.mysql.com/downloads/mysql/5.7.html#downloads官网查看,然后下面的下载命令其实只需要改个版本号即可。

二、MySQL5.7安装

1、下载MySQL5.7
cd /usr/local/wget http://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.30-linux-glibc2.12-x86_64.tar 

修改为自己需要的版本号,当然如果没有wget命令的话可以执行下面的命令安装。

yum -y install wget
2、解压安装包
tar -xvf mysql-5.7.30-linux-glibc2.12-x86_64.tartar -zxvf mysql-5.7.30-linux-glibc2.12-x86_64.tar.gz

5.7.30的版本第一次解压会得到两个版本,还有一个是test,这里直接用非test的。

3、重命名目录
mv mysql-5.7.30-linux-glibc2.12-x86_64 mysql

习惯上来说,我们会将文件夹重命名为mysql

4、创建mysql用户组和用户
groupadd mysqluseradd -r -g mysql mysql

我们必须创建mysql用户,因为mysql的初始化需要。

5、创建数据目录并赋予权限
mkdir -p  /data/mysql              #创建目录chown mysql:mysql -R /data/mysql   #赋予权限

通常都会将数据存放目录外置到别的目录,这样子升级mysql不会影响历历史数据。

6、修改配置文件

mysql有一个配置文件叫做my.cnf,我们会在配置文件中指定端口,数据存放目录,以及编码格式。

vim /etc/my.cnf

把默认的内容删掉,改为下面的内容即可。

[mysqld]bind-address=0.0.0.0port=3306user=mysqlbasedir=/usr/local/mysqldatadir=/data/mysqlsocket=/tmp/mysql.socklog-error=/data/mysql/mysql.errpid-file=/data/mysql/mysql.pid#character configcharacter_set_server=utf8mb4symbolic-links=0explicit_defaults_for_timestamp=true[client]default-character-set=utf8[mysql]default-character-set=utf8

这里要注意,直接黏贴linux界面最后几行可能会自动加上#,一定要检查内容是否一致。

7、初始化数据库
cd /usr/local/mysql/bin/./mysqld --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql/ --datadir=/data/mysql/ --user=mysql --initialize

这里要指定配置文件,根目录,数据文件,用户。

8、查看root用户密码
cat /data/mysql/mysql.err

初始化完成后,默认会生成一个root用户的密码,如下位置。这里要记住,后面登录的时候需要使用。

9016a219d447d0225acc522aa2d71693.png
9、启动mysql

先将mysql.server放置到/etc/init.d/mysql中

cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql

启动

service mysql start
10、登录mysql,修改root用户的密码
./mysql -u root -p   #bin目录下

密码为初始化的时候生成的随机密码串。

SET PASSWORD = PASSWORD('123456');ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER;FLUSH PRIVILEGES;

依次执行上面三条命令,这里密码设置为123456,当然生产上要符合密码规范。

好了到这里就安装好啦,我们来远程连接下。

11、远程连接
fb39598d432ee012f76c91578d88a6af.png

额。肯定是防火墙没有关,因为我是CentOS7,默认是firewalld防火墙,这里直接关闭,正式环境下需要开放3306端口即可。

systemctl stop firewalld

然后在连接测试!

dd06edf973e9d042dde212537dd76074.png

额,因为我们的root用户默认只能够本机访问,这里要开放下,登录mysql,执行如下三条命令即可.

use mysql                                            #访问mysql库update user set host = '%' where user = 'root';      #使root能再任何host访问FLUSH PRIVILEGES;

好啦,到这里才是最终的大大功告成!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值