在Ubuntu上手动安装低版本MySQL 5.7 by ADMIN on 29 4 月,2024


Ubuntu 软件仓已经将mysql版本更新到8.0了,本人电脑上新版也一直正常使用,但是最近不知怎么回事,突然不能正常使用了,各种彻底卸载、重装、修改配置都不好使。然后想到不安装软件仓的版本,手动安装旧版本是否可行,搜索了一圈发行是可行的,该方法的缺点就是在链接数据库时不能使用localhost进行链接,只能使用 IP 地址(127.0.0.1)进行链接。下面是具体方法。
首先将原来安装的mysql及配置文件都卸载和删除干净,然后进行接下来的操作:
一:去官网下载对应的软件包,【Operating System】选择【Linux – Generic】
https://downloads.mysql.com/archives/community/
二:将下载的软件包解压到指定目录【此处以“/home/user/APPS/mysql-5.7.44-linux-glibc2.12-x86_64/”为例,下面凡是路径位置以自己的实际路径为准】
三:进入解压的目录【mysql-5.7.44-linux-glibc2.12-x86_64】,建立【data】和【logs】两个文件夹,用于稍后存放数据库和日志文件。
四:在当前目录建立一个名为【my.cnf】的文本文件,并打开添加如下内容:


[mysqld]
bind-address = 127.0.0.1
port = 3306
user = mysql
basedir = /home/user/APPS/mysql-5.7.44-linux-glibc2.12-x86_64/
datadir = /home/user/APPS/mysql-5.7.44-linux-glibc2.12-x86_64/data
socket = /tmp/mysql.sock
log-error = /home/user/APPS/mysql-5.7.44-linux-glibc2.12-x86_64/logs/mysql.err
pid-file = /home/user/APPS/mysql-5.7.44-linux-glibc2.12-x86_64/mysql.pid
character_set_server = utf8mb4
lower_case_table_names = 1
 
[mysqld_safe]
log-error = /home/user/APPS/mysql-5.7.44-linux-glibc2.12-x86_64/logs/mysql.err
pid-file = /home/user/APPS/mysql-5.7.44-linux-glibc2.12-x86_64/mysql.pid
tmpdir = /tmp/mysql

五:进入当前目录的【support-files】文件夹,打开【mysql.server】文件,修改46、47、58、63、207行


#46行
basedir=/home/user/APPS/mysql-5.7.44-linux-glibc2.12-x86_64
#47行
datadir=/home/user/APPS/mysql-5.7.44-linux-glibc2.12-x86_64/data
#58行
lock_file_path="$lockdir/home/user/APPS/mysql-5.7.44-linux-glibc2.12-x86_64/"
#63行
mysqld_pid_file_path=/home/user/APPS/mysql-5.7.44-linux-glibc2.12-x86_64/mysql.pid
#207行
  conf=/home/user/APPS/mysql-5.7.44-linux-glibc2.12-x86_64/my.cnf

六:初始化数据库,打开命令行CD到解压目录,输入如下命令初始化:


./bin/mysqld --defaults-file=/home/user/APPS/mysql-5.7.44-linux-glibc2.12-x86_64/my.cnf --basedir=/home/user/APPS/mysql-5.7.44-linux-glibc2.12-x86_64 --datadir=/home/user/APPS/mysql-5.7.44-linux-glibc2.12-x86_64/data --user=mysql --initialize

七:启动mysql服务:


./support-files/mysql.server start

八:进入【logs】文件夹,打开【mysql.err】文件,搜索【A temporary password is generated for root】,冒号后面就是root密码,命令行输入如下命令登录mysql:


./bin/mysql -u root -p
#如果你的sock文件不是mysql.sock,可能需要指定路径和文件名
./bin/mysql -u root -p -S /tmp/mysql.sock

九:登录成功后,输入如下命令修改root密码:


ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY'root';
#密码修改完成后需要刷新授权表
flush privileges;
#退出mysql
exit;

十:设置开机自启动服务,打开【/home/用户/】文件夹下的【.profile】文件添加


#启动mysql
/home/user/APPS/mysql-5.7.44-linux-glibc2.12-x86_64/support-files/mysql.server start

十一:设置环境变量,打开【/home/用户/】文件夹下的【.bashrc】文件添加下面内容,MYSQL_BIN= 等号后面是自己的实际路径


#MySQL环境变量
export MYSQL_BIN=$HOME/APPS/mysql-5.7.44-linux-glibc2.12-x86_64/bin
export PATH=$PATH:$MYSQL_BIN

最后在命令行输入命令,重启mysql服务:


./support-files/mysql.server restart

如果使用phpMyAdmin登录mysql,需要修改phpMyAdmin的配置文件【config.inc.php】,第30行,将【localhost】改成【127.0.0.1】

没有评论