Linux安装MySQL5.7看这篇文章就够了

一、前言

今天前端的小伙伴跑来说接口又双叒叕提示错误了,检查了代码发现没有问题,估计应该是服务器的MYSQL连接断了,查看日志如下

某错,是连接不上服务器上的mysql数据库了,真是糟糕透了,前几日也出现过这个问题。为了方便,我服务器上的mysql是用docker安装的,这几日docker可是整得我心神不宁,跑java的容器经常断,不知是docker的问题还是服务器运行内存过小(4G),既然事已至此,也无路可走了,docker stop了mysql容器,打算在服务器不使用docker,自己部署mysql,看似轻松,期间还是遇到了一些小问题的,在此记录一下,当作一个学习的过程。

后记,不是docker的问题,是我的服务器遭到了入侵攻击,系统被篡改了,导致服务器全功率满载运行,非常卡,建议大家使用服务器的时候要注意好安全问题。

二、安装步骤

1. 准备安装包

去mysql官网下载压缩包
下载地址:mysql官方下载地址

System选择Linux - Generic

根据自己的linux位数选择版本,我选的是64-bit

2. 解压压缩包

先利用Xftp工具将下载好的压缩包移动到一个目录下,接着解压压缩包

tar -xzvf mysql-5.7.29-linux-glibc2.12-x86_6

再移动并重命名

mv mysql-5.7.29-linux-glibc2.12-x86_64 /usr/local/mysql

3. 创建MySQL用户组合用户并修改权限

groupadd mysql
useradd -r -g mysql mysql

在这里我遇到了一个问题

解决:

lsattr /etc/ 


查看 /etc/passwd的权限,发现是可读可写的

lsattr /etc/passwd

i表示不可修改

chattr -i /etc/passwd
chattr -a /etc/passwd
chattr -e /etc/passwd

之后还有这个问题

同样的方式解决即可

next,创建数据目录并赋予权限。

mkdir -p  /data/mysql              #创建目录
chown mysql:mysql -R /data/mysql   #赋予权限

配置my.cnf

vi /etc/my.cnf

内容如下

[mysqld]
bind-address=0.0.0.0
port=3306
user=mysql
basedir=/usr/local/mysql
datadir=/data/mysql
socket=/tmp/mysql.sock
log-error=/data/mysql/mysql.err
pid-file=/data/mysql/mysql.pid
#character config
character_set_server=utf8mb4
symbolic-links=0
explicit_defaults_for_timestamp=true

编辑好后,保存退出。

4. 初始化数据库

进入MySQL的bin目录。

cd /usr/local/mysql/bin/

初始化

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

查看密码

cat /data/mysql/mysql.err

5. 启动MySQL服务

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

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

启动

service mysql start
 
ps -ef|grep mysql

到这里说明MySQL已经安装成功了。

6. 修改密码

首先登陆MySQL

mysql -u root -p   #bin目录下

在这遇到一个错误

或许我没进入到bin目录下?执行一下命令,之后再登录mysql,解决

ln -s  /usr/local/mysql/bin/mysql    /usr/bin

在执行下面三步操作,然后重新登陆。

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

7. 远程连接

这里主要执行下面三个命令(先登陆数据库)。

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

到这里,MySQL5.7应该说已经装好了。

参考资料:《Linux安装Mysql5.7》

猜你喜欢

转载自blog.csdn.net/weixin_44950174/article/details/105214368