Linux下安装 Mysql
一、安装 MySQL的准备工作
- 查看是否已经安装过了 rpm -qa | grep mysql
- 查看安装好的版本 rpm -qi mysql-server
- 普通删除 rpm -e mysql
- 强力删除 rpm -e --nodeps mysql
- mysql 官网的下载地址
mysql下载 - 我这里是 小红帽的 5.7.29
- 将下载的包依次上传到 mysql 的安装目录
- 依次 安装`
- rpm -ivh mysql-community-common-5.7.27-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.27-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.7.27-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-5.7.27-1.el7.x86_64.rpm` - 安装过程可能会报一些错误
二、安装过程的错误解决
错误1
解决: 输入 rpm -qa | grep -i mysql 和 rpm -qa | grep -i mariadb 查看是否已经安装过了。若已安装过 则执行 rep -e --nodeps+名字 进行强力删除
再依次执行 重写安装
错误2
可能是缺失依赖包了 解决:yum install numactl
错误3
error: Failed dependencies:
mysql-community-common(x86-64) >= 5.7.9 is needed by mysql-community-libs-5.7.23-1.el7.x86_64
mariadb-libs is obsoleted by mysql-community-libs-5.7.23-1.el7.x86_64
还是缺少依赖包,反正我报了这个错。就去网上找了一下。一下子就安装了 三个包 libaio、net-tools、perl 。之后就成功了。
三、启动
- 启动MySQL服务。service mysqld start
- 查看 服务状态 service mysqld status
- 停止服务 service mysqld stop
四、设置root用户密码
- 查看临时密码的 grep ‘temporary password’ /var/log/mysqld.log
- 设置免密码登录 systemctl set-environment MYSQLD_OPTS="–skip-grant-tables" 不过需要先停止服务,设置过后再启动
- mysql -u root
- 强制性修改root用户的密码 UPDATE mysql.user SET authentication_string = PASSWORD(‘填写密码’) WHERE User = ‘root’ AND Host = ‘localhost’;
- 让本次修改生效 FLUSH PRIVILEGES;
五、设置开机自启
- 查看是否是开机自启动 chkconfig --list | grep mysqld
- 设置两个参数 systemctl enable mysqld 和 systemctl daemon-reload
- 重启虚拟机 reboot
六、设置字符集编码
- 查看字符集 show variables like ‘character%’;
- 修改配置my.cnf 配置文件 vim /etc/my.cnf
- 可能会遇到这个错误
意思是 密码有误 需要进行强制修改密码
必须使用 Alert user 语句重置密码 alter user ‘root’@‘localhost’ identified by ‘填写密码’; - 再次查看 show variables like ‘character%’;
七、允许root用户远程连接
- GRANT ALL PRIVILEGES ON . TO ‘root’@’%’ IDENTIFIED BY ‘填写密码’ WITH GRANT OPTION;
- 查看防火墙 firewall-cmd --list-all
- 开发3306 端口 firewall-cmd --permanent --add-port=3306/tcp
- 重启防火墙 service firewalld restart
- 查看 3306端口 是否开放 firewall-cmd --query-port=3306/tcp