当前位置: 首页 > news >正文

Linux——MySQL5.7编译安装、RPM安装、yum安装

文章目录

  • Linux——MySQL5.7编译安装、RPM安装、yum安装
    • 一、编译安装
    • 二、RPM安装
    • 三、yum安装

Linux——MySQL5.7编译安装、RPM安装、yum安装

卸载mysql

# 查看是否安装了mysql
[root@csq ~]# rpm -qa |grep mysql
mysql-community-server-5.7.36-1.el7.x86_64
mysql-community-common-5.7.36-1.el7.x86_64
mysql-community-client-5.7.36-1.el7.x86_64
mysql-community-libs-5.7.36-1.el7.x86_64
# 停止mysql服务器并删除mysql
[root@csq ~]# systemctl stop mysqld
# 卸载
[root@csq ~]# rpm -ev mysql-community-server-5.7.36-1.el7.x86_64
[root@csq ~]# rpm -ev mysql-community-common-5.7.36-1.el7.x86_64 --nodeps
[root@csq ~]# rpm -ev mysql-community-client-5.7.36-1.el7.x86_64
[root@csq ~]# rpm -ev mysql-community-libs-5.7.36-1.el7.x86_64 --nodeps
# 删除mysql目录文件和库
[root@csq ~]# find / -name mysql
[root@csq ~]# rm -rf /var/lib/mysql
[root@csq ~]# rm -rf /etc/my.cnf
# 删除mysql用户及组
[root@csq ~]# id mysql
uid=27(mysql) gid=27(mysql) groups=27(mysql)
[root@csq ~]# userdel mysql
[root@csq ~]# groupdel mysql
[root@csq ~]# cat /etc/passwd |grep mysql
[root@csq ~]# cat /etc/group |grep mysql    
# 再次查询
[root@csq ~]# whereis mysql

一、编译安装

安装依赖包

[root@csq ~]# yum -y install ncurses ncurses-devel openssl-devel bison gcc gcc-c++ make cmake wget

下载

wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-boost-5.7.27.tar.gz

创建mysql目录

mkdir /usr/local/mysql

创建mysql用户

useradd -r mysql -M -s /sbin/nologin
# -r:建立一个系统账号
# -M:强制,不要建立使用者家目录
# -s:指定登陆者的shell

解压并编译安装

# 解压
tar -zxvf mysql-boost-5.7.27.tar.gz -C /usr/local/
# 切换到编译目录
cd /usr/local/mysql-5.7.27/
# 编译安装
cmake . \
-DWITH_BOOST=boost/boost_1_59_0/ \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DSYSCONFDIR=/etc \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DINSTALL_MANDIR=/usr/share/man \
-DMYSQL_TCP_PORT=3306 \
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock \
-DDEFAULT_CHARSET=utf8 \
-DEXTRA_CHARSETS=all \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_READLINE=1 \
-DWITH_SSL=system \
-DWITH_EMBEDDED_SERVER=1 \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1make && make install参数详解:
cmake . \
-DWITH_BOOST=boost/boost_1_59_0/ \          #  指定使用Boost库的路径和版本
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \   # 指定MySQL的安装目录为/usr/local/mysql
-DSYSCONFDIR=/etc \          #  指定MySQL的配置文件目录为/etc,即将生成的配置文件放在该目录下
-DMYSQL_DATADIR=/usr/local/mysql/data \ # 指定MySQL的数据目录为/usr/local/mysql/data,即将数据库文件存储到该路径
-DINSTALL_MANDIR=/usr/share/man \  # 指定MySQL的man手册安装路径为/usr/share/man,即将生成的man手册安装到该目录
-DMYSQL_TCP_PORT=3306 \     #  指定MySQL的TCP端口为3306,即在运行MySQL时使用该端口进行通信
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock \ # 指定MySQL的Unix套接字路径为/tmp/mysql.sock,即MySQL通过Unix套接字进行本地通信
-DDEFAULT_CHARSET=utf8 \  #  指定MySQL的默认字符集为utf8,即在创建数据库和表时使用UTF-8字符集
-DEXTRA_CHARSETS=all \   # 设置MySQL支持所有额外字符集
-DDEFAULT_COLLATION=utf8_general_ci \ # 指定MySQL的默认排序规则为utf8_general_ci,即在比较和排序时使用UTF-8字符集的默认规则
-DWITH_READLINE=1 \     #  启用MySQL的Readline库支持,用于命令行交互的编辑和历史记录功能
-DWITH_SSL=system \     # 指定使用系统提供的SSL库,用于启用MySQL的SSL连接支持
-DWITH_EMBEDDED_SERVER=1 \ # 启用MySQL的嵌入式服务器功能,允许将MySQL嵌入到其他应用程序中
-DENABLED_LOCAL_INFILE=1 \ # 启用MySQL的本地数据导入功能,允许从客户端加载本地文件到数据库中
-DWITH_INNOBASE_STORAGE_ENGINE=1 # 启用InnoDB存储引擎,该引擎提供了事务支持和行级锁定

初始化

# 设置mysql根目录文件属主和属组
[root@csq ~]# chown -R mysql:mysql /usr/local/mysql/
# 进入mysql安装目录
[root@csq ~]# cd /usr/local/mysql/
# 更新PATH环境变量,使可以在任何目录下执行mysql命令行工具
[root@csq mysql]# echo "export PATH=${PATH}:/usr/local/mysql/bin/" >> /etc/profile
[root@csq mysql]# source /etc/profile
# 初始化
mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
# 执行结束会告诉你mysql登陆密码,要记下来 待会要改密码会用到
# --initialize: 这个参数告诉MySQL服务器执行初始化操作
# --user=mysql: 这个参数指定MySQL服务器以mysql用户身份运行
# --basedir=/usr/local/mysql: 这个参数指定MySQL服务器的基础目录,即MySQL的安装目录
# --datadir=/usr/local/mysql/data: 这个参数指定MySQL的数据目录,即数据库文件的存储位置

编辑mysql配置文件

vim /etc/my.cnf[mysqld]
basedir=/usr/local/mysql
#指定安装目录
datadir=/usr/local/mysql/data
#指定数据存放目录

启动mysql

# 启动mysql
mysqld_safe --user=mysql &
[root@csq mysql]# netstat -tlnp |grep 3306
tcp6       0      0 :::3306                 :::*                    LISTEN      14878/mysqld   

登陆mysql并修改密码

[root@csq mysql]# /usr/local/mysql/bin/mysql -uroot -p'IWFXDuyi(1fg'
mysql> alter user 'root'@'localhost' identified by '000000';
mysql> exit
[root@csq mysql]# mysql -uroot -p000000 # 再次使用修改的密码登陆
mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
4 rows in set (0.00 sec)
mysql> exit

配置mysqld服务的管理工具

[root@csq support-files]# cd /usr/local/mysql/support-files/
[root@csq support-files]# cp -rf mysql.server  /etc/init.d/mysqld 
# 将MySQL服务添加到系统的服务管理列表中
[root@csq support-files]# chkconfig --add mysqld
# 将MySQL服务设置为在系统启动时自动启动
[root@csq support-files]# chkconfig  mysqld on
# 启动命令
[root@csq support-files]# service mysqld stop
[root@csq support-files]# service mysqld start
[root@csq support-files]# service mysqld restart
[root@csq support-files]# service mysqld reload
[root@csq support-files]# service mysqld status
# 或者
[root@csq ~]# systemctl start mysqld
[root@csq ~]# systemctl stop mysqld

二、RPM安装

下载地址:https://downloads.mysql.com/archives/community/

# 下载 
[root@csq ~]# wget https://downloads.mysql.com/archives/get/p/23/file/mysql-5.7.36-1.el7.x86_64.rpm-bundle.tar
# 解压

按照顺序安装rpm软件包

[root@csq ~]# rpm -ivh mysql-community-common-5.7.36-1.el7.x86_64.rpm 
[root@csq ~]# rpm -ivh mysql-community-libs-5.7.36-1.el7.x86_64.rpm 
[root@csq ~]# rpm -ivh mysql-community-devel-5.7.36-1.el7.x86_64.rpm 
[root@csq ~]# rpm -ivh mysql-community-libs-compat-5.7.36-1.el7.x86_64.rpm 
[root@csq ~]# rpm -ivh mysql-community-client-5.7.36-1.el7.x86_64.rpm 
[root@csq ~]# yum install -y net-tools
[root@csq ~]# rpm -ivh mysql-community-server-5.7.36-1.el7.x86_64.rpm 
# 验证
[root@csq ~]# whereis mysql
mysql: /usr/bin/mysql /usr/lib64/mysql /usr/include/mysql /usr/share/mysql /usr/share/man/man1/mysql.1.gz

启动mysql

# 查看服务状态
[root@csq ~]# systemctl status mysqld
● mysqld.service - MySQL ServerLoaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)Active: inactive (dead) since Tue 2024-05-07 14:50:20 CST; 20s agoDocs: man:mysqld(8)http://dev.mysql.com/doc/refman/en/using-systemd.html
# 初始化数据库
[root@csq ~]# mysqld --initalize --console
# 授权
[root@csq ~]# chown -R mysql:mysql /var/lib/mysql
# 启动
[root@csq ~]# systemctl start mysqld
[root@csq ~]# systemctl status mysqld
● mysqld.service - MySQL ServerLoaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)Active: active (running) since Tue 2024-05-07 14:55:09 CST; 3s agoDocs: man:mysqld(8)http://dev.mysql.com/doc/refman/en/using-systemd.htmlProcess: 24825 ExecStart=/usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid $MYSQLD_OPTS (code=exited, status=0/SUCCESS)Process: 24807 ExecStartPre=/usr/bin/mysqld_pre_systemd (code=exited, status=0/SUCCESS)Main PID: 24830 (mysqld)CGroup: /system.slice/mysqld.service└─24830 /usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pidMay 07 14:55:09 csq systemd[1]: Starting MySQL Server...
May 07 14:55:09 csq systemd[1]: Started MySQL Server.

查看临时密码,登陆mysql,改密码

[root@csq ~]# cat /var/log/mysqld.log  |grep password                                     2024-05-07T06:29:54.096170Z 1 [Note] A temporary password is generated for root@localhost: <enk8:(8wlWf
[root@csq ~]# mysql -u root -p'<enk8:(8wlWf' 
mysql> alter user 'root'@'localhost' identified by '123456';
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
# 设置密码的验证强度等级,设置为low
mysql> set global validate_password_policy=LOW;
Query OK, 0 rows affected (0.00 sec)
# 设置密码长度为6
mysql> set global validate_password_length=6;
Query OK, 0 rows affected (0.00 sec)
# 设置密码,只要满足6位数长度即可
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';     
Query OK, 0 rows affected (0.00 sec)mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
4 rows in set (0.00 sec)
mysql> exit

三、yum安装

安装依赖包

[root@csq ~]# yum install -y perl net-tools

下载地址:http://repo.mysql.com/

[root@csq ~]# wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
[root@csq ~]# rpm -ivh mysql-community-release-el7-5.noarch.rpm 

如果要安装mysql5.7版本,可以设置一下yum仓库

vim /etc/yum.repos.d/mysql-community.repo
# 文件中会显示5.5,5.6,5.7的版本,把5.7版本下的enabled=0改成=1
# 把默认5.6版本下的enabled=1改成0,然后再进行安装就可以了

yum安装mysql-5.7

[root@csq ~]# yum install -y mysql-server
[root@csq ~]# mysql --version
mysql  Ver 14.14 Distrib 5.7.44, for Linux (x86_64) using  EditLine wrapper

开启mysql服务

[root@csq ~]# systemctl start mysqld
[root@csq ~]# systemctl status mysqld
● mysqld.service - MySQL ServerLoaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)Active: active (running) since Tue 2024-05-07 15:37:13 CST; 4s agoDocs: man:mysqld(8)

登陆mysql,修改密码

[root@csq ~]# cat /var/log/mysqld.log |grep password
[root@csq ~]# mysql -uroot -p'iywr=#:Wo3yZ'
mysql> alter user 'root'@'localhost' identified by '123456';
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
mysql> set global validate_password_policy=LOW;
Query OK, 0 rows affected (0.00 sec)mysql> 
mysql> set global validate_password_length=6;
Query OK, 0 rows affected (0.00 sec)mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';     
Query OK, 0 rows affected (0.00 sec)mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
4 rows in set (0.00 sec)
http://www.lryc.cn/news/342515.html

相关文章:

  • LSTM递归预测(matlab)
  • 计算机网络 备查
  • 查看软件包依赖关系
  • C++ 中 strcmp(a,b) 函数的用法
  • Servlet(一些实战小示例)
  • 【JVM】垃圾回收机制(Garbage Collection)
  • C++中的priority_queue模拟实现
  • 【Kafka】1.Kafka核心概念、应用场景、常见问题及异常
  • LTE的EARFCN和band之间的对应关系
  • 解决问题:Docker证书到期(Error grabbing logs: rpc error: code = Unknown)导致无法查看日志
  • 【C语言】预处理器
  • QtConcurrent::run操作界面ui的注意事项(2)
  • 黑马程序员HarmonyOS4+NEXT星河版入门到企业级实战教程笔记
  • 嵌入式全栈开发学习笔记---C语言笔试复习大全13(编程题9~16)
  • https网站安全证书的作用与免费申请办法
  • 自动化测试再升级,大模型与软件测试相结合
  • centos7 基础命令
  • 【设计模式】之单例模式
  • 3d模型实体显示有隐藏黑线?---模大狮模型网
  • 共享购:全新消费模式的探索与实践
  • Java集合 总结篇(全)
  • Dubbo分层架构深度解析
  • LocalDate 数据库不兼容问题,因为LocalDate 是 long 类型的
  • RVM(相关向量机)、CNN_RVM(卷积神经网络结合相关向量机)、RVM-Adaboost(相关向量机结合Adaboost)
  • Java--方法的使用
  • linux - 主次设备号自动申请
  • 我写了一套几乎无敌的参数校验组件!基于 SpEL 的参数校验组件「SpEL Validator」
  • 输入序列太长 gan CGAN
  • uni-app scroll-view隐藏滚动条的小细节 兼容主流浏览器
  • Java常用API之LinkedList类解读