Linux安装mysql 5.7 不需要删除mariadb的方法 超详细

    技术2025-04-01  18

    写在前面

    今天帮同学在服务器上部署MySQL,因为我们不允许将系统环境做个人化的修改,因此不能使用删除Mariadb的方法。网上的方法大多适用于个人机器,对环境的破坏比较严重,基本就是全局环境下的暴力安装。下面介绍一种可以让普通用户就能自己定制MySQL配置而不影响全局环境的方法,由于是安装成功后才想到的写这篇文章,可能会有疏漏之处,欢迎大家评论指出,我会及时修改。

    我的系统环境:CentOS 7

    下载MySQL

    首先,下载对应版本的MySQL,我下载的是下面这个版本:

    wget https://downloads.mysql.com/archives/get/p/23/file/mysql-5.7.29-el7-x86_64.tar

    然后解压

    tar -xvf ./mysql-5.7.29-el7-x86_64.tar

    进入目录

    cd mysql-5.7.30-el7-x86_64

    我为了便于之后的使用,把上面这个目录加在了~/.bashrc里面,大家可按需添加

    export MYSQL_HOME=你的路径/mysql-5.7.30-el7-x86_64

    添加完后别忘了source ~/.bashrc

    创建你的自定义配置文件

    cd $MYSQL_HOME里,首先创建一个data目录 mkdir data 请确保data目录里是空的,如果后续操作你有问题,想重新修改配置并初始化,可能会报data目录不为空的错误,这时候把data目录清空就行了(清空前请三思,别清错了)

    之后我们在$MYSQL_HOME中创建一个my.cnf文件: vi ./my.cnf 在my.cnf中输入下段代码:

    [mysql] # 设置mysql客户端默认字符集 default-character-set=utf8 socket=你的路径/mysql-5.7.30-el7-x86_64/mysql.sock [mysqld] skip-name-resolve skip-grant-tables # 这步是为了跳过root的密码验证,如果是你个人使用的话,其实不用密码更方便 #设置3306端口 port = 3306 socket=你的路径/mysql-5.7.30-el7-x86_64/mysql.sock #这个不需要自己创建,把路径指定好就行 # 设置mysql的安装目录,我用的是刚才bashrc里设置的MYSQL_HOME # 特别注意,不要直接写$MYSQL_HOME,要打完整的路径,不然mysqld启动时会有奇怪的错误 basedir=改成你的MYSQL_HOME路径 # 设置mysql数据库的数据的存放目录, 这里就是刚才我们创建的data目录的路径 datadir=你的MYSQL_HOME路径/data # 允许最大连接数 max_connections=200 # 服务端使用的字符集默认为8比特编码的latin1字符集 character-set-server=utf8 # 创建新表时将使用的默认存储引擎 default-storage-engine=INNODB #lower_case_table_name=1 max_allowed_packet=16M #plugin所在目录 这步很重要,这个得手动指定,不然会报错。该目录不需要手动创建,在$MYSQL_HOME/lib下面有 plugin_dir=你的MYSQL_HOME路径/lib/plugin

    主要配置文件就是上面这个,如果你有自定义的需求,就在上面改配置文件,然后重启mysqld就行了。

    运行命令

    server启动

    关键点:指定你的my.cnf文件,注意是mysqld $MYSQL_HOME/bin/mysqld --defaults-file=$MYSQL_HOME/my.cnf --user=root

    server关闭

    直接关掉刚才的mysqld终端,然后用ps -ef | grep mysql,把里面mysqld的进程kill掉就好了kill -9 PID

    client启动

    $MYSQL_HOME/bin/mysql --defaults-file=$MYSQL_HOME/my.cnf -uroot -p 不需要输密码,也不能改密码,因为之前my.cnf配置文件里跳过了密码验证

    简单测试一下,SHOW DATABASES; 完成。

    Processed: 0.010, SQL: 9