首先检查mysql的yum存储库是否存在Mysql: yum repolist all | grep mysql
如果没有去下载 https://dev.mysql.com/downloads/repo/yum/
下载下来是个:mysql80-community-release-el7-3.noarch.rpm 放到linux服务器上,然后运行命令:
- sudo rpm -Uvh mysql80-community-release-el7-3.noarch.rpm 安装mysql 的yum存储库
- 安装完成后修改要安装的版本:编辑/etc/yum.repos.d/mysql-community.repo 里面有很多版本 设置你要安装数据库版本设置enable=1 其他为0 即可
- yum repolist enabled | grep mysql
- 安装mysql:sudo(非root用户需要加上) yum install mysql-community-server
- 启动:sudo service mysqld start
- 检查运行状态 sudo service mysqld status
最后再检查存储库列表有没有mysql:
shell> sudo yum-config-manager --disable mysql80-community shell> sudo yum-config-manager --enable mysql57-community 通过这个命令启用安装那个版本的mysql为可用和不可用。
也可以通过手动编辑/etc/yum.repos.d/mysql-community.repo 文件来选择系列 修改对应版本的enabled=1或0 指定 enabled=0禁用子存储库,或 enabled=1启用子存储库
- 查看密码:sudo grep 'temporary password' /var/log/mysqld.log 获取临时生产的密码
- mysql -uroot -p 通过临时密码登录 并修改密码:
- mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '你的新密码';
- mysqladmin -u root -p password 你的新密码 (可以直接设置密码 我没试过 你们可以试试)
- 修改密码不成功 可能是密码强度校验规则拦截所致:
- SHOW VARIABLES LIKE 'validate_password%';
- 修改:
set global validate_password.policy=0;
set global validate_password.length=1;
- 修改完成之后:flush privileges; 刷新系统配置在继续往下走!(不然下面给root授权时还会提示你密码强度有问题 很烦人的 谨记!好多人设置了后面还是提示这个 就是因为没刷新进去设置)
- 工具连接不成功时:
1.查看域名是否限制: mysql -u root -p 登陆之后 查看:
use mysql;
select host,user from user;
root 对应localhost时只允许本地链接 进行修改:
update user set host ='%' where user ='root'; % 任何远程服务器都可链接。
给root授予所有权限:
grant all privileges on *.* to 'root'@'%' with grant option;
*.* 第一个标识所有数据库 第二个标识所有表。
最后刷新权限:flush privileges;
退出mysql模式:exit mysql -u root -p不要空格加密码 可以直接进入 不会再输一遍密码
如果还连不上 就是防火墙的问题 看看防火墙是否开启:systemctl status firewalld 或者查看
firewall-cmd --zone=public --list-ports
如果显示 FirewallD is not running 就是没有开启 通过systemctl start firewalld开启防火墙,没有任何提示即开启成功。
再次通过systemctl status firewalld查看firewalld状态,显示running即已开启了。
如果要关闭防火墙设置,可能通过systemctl stop firewalld这条指令来关闭该功能。
再次执行执行firewall-cmd --permanent --zone=public --add-port=3306/tcp,提示success,表示设置成功,这样就可以继续后面的设置了。
重新加载firewalld防火墙的配置信息使其生效 firewall-cmd --reload
再次查看firewalld防火墙开放的端口列表 firewall-cmd --zone=public --list-ports
卸载MySql
- 命令:rpm -qa|grep -i mysql 查看mysql的安装包
- 执行命令 rpm -ev 1中查到的各种包名 删除(Rpm remove 1中查到的各种包名)
- 如果提示依赖包错误: rpm -ev 1中包名 --nodeps 依次删除(还不信 可以尝试:rpm -e --noscripts 1中包名)
- 查找之前老版本mysql的目录、并且删除老版本mysql的文件和库:
find / -name mysql
/var/lib/mysql /var/lib/mysql/mysql /usr/lib64/mysql |
删除对应的mysql目录
1 2 3 | rm -rf /var/lib/mysql rm -rf /var/lib/mysql rm -rf /usr/lib64/mysql |