Mysql安装包使用PRM包
-
删除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 #确认已卸载
-
卸载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 #确认已被卸载
-
在官网下载PRM依赖
-
配置环境
sudo yum update -y #更新系统软件包 sudo yum install perl-DBI # 解决依赖问题,具体依赖包名可能会有所不同 sudo yum remove mysql mysql-server mysql-libs # 清理旧版本或冲突软件或者其他与MySQL相关的包
-
安装RPM包
sudo rpm -ivh /path/to/mysql-community-server-version.rpm #安装前先将文件上传至linux的usr/local中,path/to 上传的文件夹
-
更新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
-
启动Mysql服务并设置开机启动
sudo systemctl start mysqld sudo systemctl enable mysqld
-
设置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;
-
创建新用户并配置远程访问
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; #刷新权限
-
开启防火墙和端口
# 对于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服务以应用更改:
-
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;