安装前检查MySQL依赖 检查/tmp临时目录权限(必不可少)
由于mysql安装过程中,会通过mysql用户在/tmp目录下新建tmp_db文件,所以请给/tmp较大的权限。
检查依赖 1 2 3 4 5 6 rpm -qa | grep libaio rpm -qa | grep net-tools
安装过程
将之前下载好的文件,上传到 /opt/mysql80文件夹下
1 2 3 4 5 6 7 8 rpm-ivh mysql-community-common-8.0.25-1.el7.x86_64.rpm rpm-ivh mysql-community-client-plugins-8.0.25-1.el7.x86_64.rpm rpm-ivh mysql-community-libs-8.0.25-1.el7.x86_64.rpm rpm-ivh mysql-community-client-8.0.25-1.el7.x86_64.rpm rpm-ivh mysql-community-server-8.0.25-1.el7.x86_64.rpm
rpm是 Redhat Package Manage缩写,通过rpm的管理,用户可以把源代码包装成以rpm为扩展名的文件形式,易于安装
-i –instll安装软件包
-v –verbose提供更多的详细信息输出
-h –hash 软件包安装的时候列出哈希标记(和-v一起使用效果更好),展示进度条
注意: 安装中可能会报错
1 2 3 4 5 mariadb-libs被 mysql-community-libs-8.0.25-1.e17.X86_64 取代 yum remove mysql-libs
1 2 3 4 5 6 mysql-community-client(x86-64) >= 5.7.9 被 mysql-community-server-5.7.30-1.e17.x86_64 需要 rpm -ivh mysql-community-client-5.7.30-1.el7.x86_64.rpm --nodeps --force
1 2 3 4 5 6 7 8 9 10 11 12 [root@server mysql-5.7.22] 警告:mysql-community-server-5.7.22-1.el7.x86_64.rpm: 头V3 DSA/SHA1 Signature, 密钥 ID 5072e1f5: NOKEY 错误:依赖检测失败: /usr/bin/perl 被 mysql-community-server-5.7.22-1.el7.x86_64 需要 net-tools 被 mysql-community-server-5.7.22-1.el7.x86_64 需要 perl(Getopt::Long) 被 mysql-community-server-5.7.22-1.el7.x86_64 需要 perl(strict) 被 mysql-community-server-5.7.22-1.el7.x86_64 需要
1 2 3 4 5 6 ALTER USER 'root' @'%' IDENTIFIED WITH mysql_native_password BY '你的密码' ;
查看MySQL版本 1 2 3 4 mysql --version 或 mysqladmin --version
服务初始化
为了保证数据库目录与文件的所有者为mysql登录用户,如果你是以root身份运行mysql服务,需要执行下面的命令初始化:
1 2 3 4 5 6 7 8 9 mysqld --initialize --user=mysql cat /var/log/mysqld.log
服务启动 1 2 3 4 5 启动:systemctl start mysqld.service 关闭:systemctl stop mysqld.service 重启:systemctl restar tmysqld.service 查看状态:systemctl status mysqld.service
1 2 3 4 5 6 7 8 9 systemctl list-unit-files |grep mysqld.service systemctl enable mysqld.service systemctldisablemysqld.service
MySQL登录
1 2 3 4 5 ALTER USER 'root' @'localhost' IDENTIFIED BY '你的新密码' ;
设置远程登录
出现的问题 :
在用SQLyog或Navicat中配置远程连接Mysql数据库时遇到如下报错信息,这是由于Mysql配置了不支持远程连接引起的。
步骤一
物理机 ping 虚拟机 ip
物理机 telnet 虚拟机 ip 端口号
开启telnet
控制面板—>所有控制面板项—->程序和功能—->启用或关闭Windows功能—->找到 Telnet客户端—>开启 Telnet客户端
telnet 192.168.23.112 3306
步骤二
1 2 3 4 5 6 7 8 9 10 11 12 systemctl start firewalld.service systemctl stop firewalld.service systemctl status firewalld.service systemctl enable firewalld.service systemctl disable firewalld.service yum install firewalld firewall-config
1 2 3 4 5 6 7 8 9 firewall-cmd --zone=public --add-port=3306/tcp --permanent firewall-cmd --reload firewall-cmd --state
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 firewall-cmd --list-all firewall-cmd --zone=public --add-service=http --permanent firewall-cmd --get-zone firewall-cmd --get-services firewall-cmd --remove-port=80/tcp --permanent firewall-cmd --list-ports
步骤三
1 2 3 4 5 SELECT user , host FROM user ;UPDATE user SET host = '%' WHERE user = 'root'
修改后执行flush privileges使配置立即生效
此时到此基本上已经可以,但是
如果是MySQL5.7版本,可以直接使用SQLyog或者Navicat成功连接MySQL服务了
如果是MySQL8.0版本,会因为密码的加密规则调整,致使连接失败
错误信息如下
1 2 错误号码2058 Plugin caching_sha0_password could net be loaded: '乱码'
分析: mysql密码加密方法变了
解决办法
1 2 ALTER USER 'root' @'%' IDENTIFIED WITH mysql_native_password BY 'root' ;
至此完成远程登录设置