首先去MysqL官网下载MysqL的离线rpm安装包(https://downloads.MysqL.com/archives/community/)
因为MysqL依赖于mariadb,所以我们先用rpm -qa | grep mariadb 查找mariadb的包信息
然后使用rpm -e --nodeps mariadb-libs-5.5.65-1.el7.x86_64去除此依赖
接着按照以下顺序安装
rpm -ivh net-tools-2.0-0.25.20131004git.el7.x86_64.rpm rpm -ivh MysqL-community-common-8.0.20-1.el7.x86_64.rpm rpm -ivh MysqL-community-libs-.el7.x86_64.rpm rpm -ivh MysqL-community-libs-compat-.el7.x86_64.rpm rpm -ivh MysqL-community-client-.el7.x86_64.rpm rpm -ivh MysqL-community-server-1.el7.x86_64.rpm
安装完成后,执行systemctl start MysqLd.service来运行MysqL
当登录的时候发现需要输入密码
百度得知,MysqL7.4以后的版本安装后都会有一个随机密码,可以用 grep 'temporary password' /var/log/MysqLd.log 来查看安装时的默认密码(此次是triBcK0/NP;o)
输入密码,登录成功
我们可以使用 ALTER USER 'root'@'localhost' IDENTIFIED BY 'Test!23$';来修改登录密码
为了能在主机外管理工具连接上MysqL方便管理,我们需要让MysqL的3306端口可以让外面访问到
执行以下命令
iptables -I INPUT 1 -p tcp --dport 3306 -j ACCEPT firewall-cmd --zone=public --add-port=3306/tcp --permanent
CREATE USER 'yuancheng'@%' IDENTIFIED BY Test12#$'; GRANT ALL PRIVILEGES ON *.* TO WITH GRANT OPTION; flush privileges;
在本地使用数据库连接工具测试连接
至此,我们完成了在Centos下离线安装MysqL并实现了通过远程管理工具连接。
ASP.NET CORE如果是从低版本(5.7)连接到8.0的MysqL,会提示密码加密方式不正确( One or more errors occurred. (Authentication method 'caching_sha2_password' Failed. Either use a secure connection,specify the server's RSA public key with ServerRSAPublicKeyFile,or set AllowPublicKeyRetrieval=True.))
解决方法:
1、在/etc/my.cnf中注释 default-authentication-plugin=MysqL_native_password
2、MysqL -h127.0.0.1 -P6033 -uroot -p 输入密码连接到MysqL,然后输入
ALTER USER root@localhost IDENTIFIED WITH MysqL_native_password BY '你的密码';
FLUSH PRIVILEGES;
3、 重启MysqL服务