Linux下的mysql安装操作 删除mysql 8 、安装mysql-5.7.25

写作背景:

原来的Linux操作系统centos中安装的是mysql 8 ,实际工作中此版本需要低版本,所以删除了8,安装了5.7

版本号为:mysql-5.7.25-linux-glibc2.12-x86_64.tar.gz

工作目录:/usr/local/mysql

历史版本:http://downloads.mysql.com/archives/community/

参考来源:

1.安装mysql

https://blog.csdn.net/xixiangdeshaonian/article/details/86736120

2.删除mysql

https://blog.csdn.net/tjcyjd/article/details/52189182

正文开始

删除mysql

1、使用以下命令查看当前安装mysql情况

rpm -qa|grep -i mysql

可以看到如下图的所示:


显示之前安装了:
MySQL-client-5.5.25a-1.rhel5
MySQL-server-5.5.25a-1.rhel5


2、停止mysql服务、删除之前安装的mysql
删除命令:rpm -e –nodeps 包名

rpm -ev MySQL-client-5.5.25a-1.rhel5
rpm -ev MySQL-server-5.5.25a-1.rhel5

如果提示依赖包错误,则使用以下命令尝试

rpm -ev MySQL-client-5.5.25a-1.rhel5 --nodeps

如果提示错误:error: %preun(xxxxxx) scriptlet failed, exit status 1

则用以下命令尝试:

rpm -e --noscripts MySQL-client-5.5.25a-1.rhel5

3、查找之前老版本mysql的目录、并且删除老版本mysql的文件和库
find / -name mysql
查找结果如下:

find / -name mysql

/var/lib/mysql
/var/lib/mysql/mysql
/usr/lib64/mysql
删除对应的mysql目录

rm -rf /var/lib/mysql
rm -rf /var/lib/mysql
rm -rf /usr/lib64/mysql

查找目录并删除


注意:卸载后/etc/my.cnf不会删除,需要进行手工删除

rm -rf /etc/my.cnf

4、再次查找机器是否安装mysql

rpm -qa|grep -i mysql


无结果,说明已经卸载彻底
————————————————
版权声明:本文为CSDN博主「Java高知」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/tjcyjd/article/details/52189182

 

安装mysql (原文基础上做了部分内容改动)

检查是否安装了mysql

rpm -qa | grep mysql

如有,类似

mysql-libs-5.1.52-1.el6_0.1.x86_64

卸载之

rpm -e --nodeps mysql-libs-5.1.52.x86_64

检查否存在 mariadb 数据库,如有,卸载之,卸载同上

rpm -qa | grep mariadb

查看linux系统是64位还是32位

getconf LONG_BIT

自己上传的资源:

mysql-5.7:8降级为5.7.25

包含mysql安装包和my-default.cnf

到mysql官网下载安装包(64位)

mysql-5.7.25-linux-glibc2.12-x86_64.tar.gz
在这里插入图片描述

上传安装包至/usr/local,解压安装包

cd /usr/local
tar -zvxf mysql-5.7.25-linux-glibc2.12-x86_64.tar.gz

重命名

mv mysql-5.7.25-linux-glibc2.12-x86_64 mysql

创建data目录

cd mysql
mkdir data

检查mysql组和用户是否存在,如无创建

cat /etc/group | grep mysql

#类似
mysql:x:490:
cat /etc/passwd | grep mysql
#类似
mysql:x:496:490::/home/mysql:/bin/bash

以上为存在的情况,如无,执行添加命令:

groupadd mysql
useradd -r -g mysql mysql

#useradd -r参数表示mysql用户是系统用户,不可用于登录系统

将/usr/local/mysql的所有者及所属组改为mysql

chown -R mysql.mysql /usr/local/mysql

在/usr/local/mysql/support-files目录下创建my-default.cnf

20201028:重要更新:

MySQL大小写敏感可以通过配置文件的lower_case_table_names参数来控制。

WINDOWS系统下:
编辑MySQL安装目录下的my.ini 文件,在[mysqld]节下 添加 lower_case_table_names=0 (备注:为0时大小写敏感,为1时大小写不敏感,默认为1),可以实现MySql按照建表Sql语句的大小写状态来定义表名。

LINUX系统下:
编辑/etc/my.cnf文件(提示:如果没有可以用 find /usr -name my.cnf查找),在[mysqld]节下 添加 lower_case_table_names=1 参数,并设置相应的值 (备注:为0时大小写敏感,为1时大小写不敏感,默认为0)。

否则表会找不到

20210118:重要更新

mysql:1153 Got a packet bigger than ‘max_allowed_packet’ bytes的解决方法

备份还原或数据导入报错1153:Got a packet bigger than‘max_allowed_packet’bytes的问题

这个问题可以有2个解决方法:

1.临时修改:

mysql>set global max_allowed_packet=524288000; #修改 512M

2.修改my.cnf(windows下my.ini),需重启mysql。
在 [MySQLd] 部分添加一句(如果存在,调整其值就可以):
max_allowed_packet=256M (根据实际情况调整数值)

可通过命令:

show VARIABLES like '%max_allowed_packet%’;

查看是否修改成功!

 

# For advice on how to change settings please see
# http://dev.mysql.com/doc/refman/5.7/en/server-configuration-defaults.html
# *** DO NOT EDIT THIS FILE. It's a template which will be copied to the
# *** default location during install, and will be replaced if you
# *** upgrade to a newer version of MySQL.


[mysqld]

lower_case_table_names=1
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES 

basedir = /usr/local/mysql
datadir = /usr/local/mysql/data
port = 3306
socket = /tmp/mysql.sock
character-set-server=utf8

log-error = /usr/local/mysql/data/mysqld.log
pid-file = /usr/local/mysql/data/mysqld.pid

max_allowed_packet=256M

 


拷贝

cp ./support-files/my-default.cnf /etc/my.cnf

初始化 mysqld

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

初始化完成之后,查看日志

/usr/local/mysql/data/mysqld.log

临时密码

[Note] A temporary password is generated for root@localhost: i8r#tnAuaanT

把启动脚本放到开机初始化目录

cd /usr/local/mysql

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

 

成功运行,添加系统路径(类似于Windows把mysql的bin添加到path变量中)

    # vim /etc/profile
    添加:
    export PATH=/usr/local/mysql/bin:$PATH

使配置生效:source /etc/profile 

启动mysql服务

service mysql start

查看mysql进程

ps -ef | grep mysql

登录mysql,密码为初始密码(上面安装时候生成的日志最后)

cd /usr/local/mysql/bin
./mysql -u root -p

修改密码

mysql> set password=password('root');
mysql> grant all privileges on *.* to root@'%' identified by 'root';
mysql> flush privileges;

添加远程访问权限

mysql> use mysql;
mysql> update user set host='%' where user = 'root';
mysql> flush privileges;

重启mysql生效

mysql> service mysql stop
mysql> service mysql start

mysql> service mysql restart

 

此外:原文有几处问题:

1.好的删除教程:https://blog.csdn.net/tjcyjd/article/details/52189182
2.最好把数据库的目录改为 mysql,这样在配置/etc/init.d/mysql的时候不用做更变,工作目录为:/usr/local/mysql
3.my_default.cnf是创建的名字,命令中却是my-default.cnf
4.成功运行,添加系统路径(类似于Windows把mysql的bin添加到path变量中)

    # vim /etc/profile
    添加:
    export PATH=/usr/local/mysql/bin:$PATH

使配置生效:source /etc/profile 

5.配置mysql自动启动(这个不用,上面已经操作 “把启动脚本放到开机初始化目录” )

    # chmod 755 /etc/init.d/mysql
    # chkconfig --add mysql
    # chkconfig --level 345 mysql on

 

 

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值