前言
在网上找到的这篇 linux 安装 Mysql5.7,亲测有效。特此搬运过来,以便日后再用。
我安装的是 mysql 5.7.33,虚拟机系统是 kali linux。
实际上按着这个教程我装了3遍,第一次是之前的mysql没删干净;第二次是手动输入导致初始化出错了。所以真心 建议命令尽量全部复制粘贴执行!!!
期间如果安装错误,或由于之前的 mysql 未删除干净导致服务启动不了,建议先删除干净mysql的文件,然后按照步骤重新安装!
一、彻底删除 mysql(如果之前每安装过mysql可直接跳过)
这些命令执行后一路 yes 即可,不用担心,亲测有效!
1、如何删除mariadb版本的mysql
apt-get remove mysql-*
dpkg -l |grep ^rc|awk '{print $2}' |sudo xargs dpkg -P
2、保险起见再执行以下命令:
apt-get remove mariadb-client
apt-get autoremove mariadb-client
apt-get remove mariadb-server
apt-get autoremove mariadb-server
如果提示没有安装所以不用删除说明删干净了(一定要检查有没删干净,po在这里踩过坑)
二、安装过程
下载地址:https://dev.mysql.com/downloads/mysql/5.7.html#downloads
解压
tar -zxvf mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz
再移动以下文件并重命名
mv mysql-5.7.26-linux-glibc2.12-x86_64 /usr/local/mysql
创建mysql用户组和用户并修改权限
groupadd mysql
useradd -r -g mysql mysql
创建数据目录并赋予权限
mkdir -p /data/mysql #创建目录
chown mysql:mysql -R /data/mysql #赋予权限
配置my.cnf
vim /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
初始化数据库
进入mysql的bin目录
cd /usr/local/mysql/bin/
初始化(这里建议你直接复制,手打错的话只能删除mysql重新来过)
./mysqld --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql/ --datadir=/data/mysql/ --user=mysql --initialize
查看密码
cat /data/mysql/mysql.err
启动mysql,并更改root 密码
先将mysql.server放置到/etc/init.d/mysql中
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
启动!!!
service mysql start
# 这个命令是查看关于mysql的进程
ps -ef|grep mysql
到这里说明mysql已经安装成功了!!
下面修改密码
首先登录mysql,前面的那个是随机生成的。
./mysql -u root -p #bin目录下
再执行下面三步操作,然后重新登录。
可以直接复制然后粘贴区执行。
SET PASSWORD = PASSWORD('123456');
ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER;
FLUSH PRIVILEGES;
这时候你如果使用远程连接……你会发现你无法连接。
这里主要执行下面三个命令(先登录数据库)
use mysql #访问mysql库
update user set host = '%' where user = 'root'; #使root能再任何host访问
FLUSH PRIVILEGES; #刷新
如果不希望每次都到bin目录下使用mysql命令则执行以下命令
ln -s /usr/local/mysql/bin/mysql /usr/bin
为了防止版本不同而导致安装失败……这里我把MySQL的包放在百度云上。
链接: https://pan.baidu.com/s/1oZLaBAELK9tuB1FCfQfzUg 提取码: mvji 复制这段内容后打开百度网盘手机App,操作更方便哦
转载自博主 蛇皮皮蛋:《Linux安装MySQL5.7》