centos7 在线安装mysql 8.0
1.下载mysql rpm 包安装源 https://dev.mysql.com/downloads/repo/yum/
(如图,注意选择对应的linux 版本,文件10k左右; 或者右键复制链接地址 ,在服务器上使用weget 下载mysql源文件)
2.将下载的源文件上传到服务器
3.安装mysql源 : yum -y localinstall mysql80-community-release-el7-6.noarch.rpm
4.在线安装mysql : yum -y install mysql-community-server
5.启动mysql 服务 : systemctl start mysqld
6.设置开机启动 : systemctl enable mysqld 然后 systemctl daemon-reload
7.修改root 用户密码 : (建议重新创建mysql用户,不要直接使用root用户)
首先 查看临时密码 : grep 'temporary password' /var/log/mysqld.log
为避免安全策略导致密码修改失败,建议使用复杂密码(包含大小写字母,数字,特殊符号等,不要使用 '!' 号) :
ALTER USER 'root'@'localhost' IDENTIFIED BY '你的密码';
8.设置远程登录并授权 :
CREATE USER 'root'@'%' IDENTIFIED BY '你的密码';
GRANT ALL ON *.* TO 'root'@'%' WITH GRANT OPTION;
9.防火墙放行3306 端口 :
firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --reload 开放3306端口
10.此时可以正常使用mysql了.
11. mysql8.0 开始默认编码 为utf8mb4,所以无需修改,但是 如果需要设置表 忽略大小写 ,参考一下教程
11.1 停止mysql 服务 : systemctl stop mysqld
11.2 备份数据 可使用 navicat 等数据库工具导出表结构及数据 或者 mysqldump 导出
11.3 删除 mysql 数据文件 : rm -rf /var/lib/mysql/*
11.4 修改mysql 配置文件 my.cnf vi /etc/my.cnf
在 [mysqld] 下添加一行 : lower_case_table_names=1
11.5 重新启动mysql 服务 : systemctl start mysqld
因为mysql 数据都被删除了,所以需要重新设置密码,授权 参考 第 7.8 步
(最好的方式是在安装mysql时 初始化的时候设置 忽略表大小写 -- 待测试)