Mysql安装

Mysql安装包使用PRM包

  1. 删除MariaDB
    sudo systemctl stop mariadb #停止服务
    
    sudo systemctl disable mariadb #禁用开机
    
    sudo yum remove mariadb-server mariadb-client mariadb-devel mariadb-libs #移除PRM包
    
    sudo rm -rf /var/lib/mysql
    sudo rm -f /etc/my.cnf /etc/my.cnf.d/*mariadb* #清理配置和数据
    
    sudo yum clean all
    sudo yum-complete-transaction #清理缓存并更新依赖
    
    rpm -qa | grep mariadb #确认已卸载
    
  2. 卸载Mysql
    sudo systemctl stop mysqld  #停止服务
    
    sudo systemctl disable mysqld #禁用开机服务
    
    sudo yum remove mysql-server mysql-libs mysql mysql-server-core-<version> mysql-client-core-<version> #移除相关PRM包
    
    sudo rm -rf /var/lib/mysql #删除数据目录
    
    sudo rm -f /etc/my.cnf /etc/my.cnf.d/*mysql* #清理配置文件
    
    sudo yum clean all
    sudo yum-complete-transaction #清理缓存并更新依赖
    
    rpm -qa | grep mysql #确认已被卸载
    
    
  3. 在官网下载PRM依赖

    Mysql安装_第1张图片

  4. 配置环境
    sudo yum update -y #更新系统软件包
    sudo yum install perl-DBI # 解决依赖问题,具体依赖包名可能会有所不同
    sudo yum remove mysql mysql-server mysql-libs # 清理旧版本或冲突软件或者其他与MySQL相关的包
    
  5. 安装RPM包
    sudo rpm -ivh /path/to/mysql-community-server-version.rpm #安装前先将文件上传至linux的usr/local中,path/to 上传的文件夹
    
  6. 更新Yum缓存并安装Mysql
    # 对于yum
    sudo yum clean all
    sudo yum update
    sudo yum install mysql-community-server
    
    # 对于dnf (RHEL/CentOS 8+)
    sudo dnf clean all
    sudo dnf update
    sudo dnf install mysql-community-server
    
  7. 启动Mysql服务并设置开机启动
    sudo systemctl start mysqld
    sudo systemctl enable mysqld
    
  8. 设置Mysql root用户密码
    grep 'temporary password' /var/log/mysqld.log #MySQL高版本首次安装后会生成一个随机的临时密码,通常可以在/var/log/mysqld.log日志文件中找到。使用这个临时密码登录MySQL,并为root用户设置新密码:
    mysql -u root -p
    ALTER USER 'root'@'localhost' IDENTIFIED BY 'YourNewStrongPassword';
    FLUSH PRIVILEGES;
    EXIT;
    
  9. 创建新用户并配置远程访问
    CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'securepassword'; # 假设你要创建一个名为newuser的新用户,并为该用户设置一个密码,如securepassword。执行以下SQL命令:
    
    CREATE USER 'newuser'@'%' IDENTIFIED BY 'securepassword'; #若要允许新用户从任意IP地址进行远程登录,将 'localhost' 替换为 '%':
    
    GRANT ALL PRIVILEGES ON mydatabase.* TO 'newuser'@'%'; #分配权限: 为新创建的用户分配数据库访问权限。例如,如果要赋予对 mydatabase 数据库的所有权限,请执行:
    
    GRANT ALL PRIVILEGES ON *.* TO 'newuser'@'%' [with grant option]; #如果想要赋予所有数据库的所有权限,则可以使用以下命令:
    
    FLUSH PRIVILEGES; #刷新权限
    
  10. 开启防火墙和端口
    # 对于Firewalld (较新版本 CentOS)
    sudo firewall-cmd --permanent --add-service=mysql
    sudo firewall-cmd --reload
    
    # 或者对于 iptables (较旧版本 CentOS)
    sudo iptables -A INPUT -p tcp --dport 3306 -j ACCEPT
    sudo service iptables save
    
    #确认MySQL监听所有网络接口: 检查MySQL配置文件 /etc/my.cnf 或 /etc/mysql/my.cnf 中的 bind-address 设置。默认情况下可能被设置为 127.0.0.1,这意味着只监听本地回环地址。若要允许远程连接,将其更改为 0.0.0.0:
    [mysqld]
    bind-address = 0.0.0.0
    
    sudo systemctl restart mysqld #修改后,重启MySQL服务以应用更改:
    
    
  11. client does not support authentication protocol by server" 这个错误通常意味着客户端版本与服务器端的MySQL版本不兼容,特别是在MySQL 5.7之后引入了新的密码插件(如caching_sha2_password)时。老版本的MySQL客户端可能不支持这种新式密码验证方式。
    ALTER USER 'your_user'@'%' IDENTIFIED WITH mysql_native_password BY 'your_password';
    FLUSH PRIVILEGES;
    

你可能感兴趣的:(mysql,数据库)