1. 下载并安装MySQL官方的 Yum Repository
1.下载mysql的yum repository
wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
2.采用yum命令安装
yum -y install mysql57-community-release-el7-10.noarch.rpm
3.安装mysql服务器
yum -y install mysql-community-server
- 如果报错
Transaction check error:
file /etc/my.cnf from install of mysql-community-server-5.7.29-1.el7.x86_64 conflicts with file from package mariadb-config-3:10.1.20-2.el7.x86_64
Error Summary
直接将冲突的删掉好啦
运行:yum -y remove mariadb-config-3:10.1.20-2.el7.x86_64
- 安装成功:
4.启动mysql服务
systemctl start mysqld.service
- 查看服务状态
systemctl status mysqld.service
成功啦
5. 查看初始密码
grep "password" /var/log/mysqld.log
如果出现上面的输出直接跳到第6步吧
如果找不到密码那么:
(要么就是系统问题,要么就是你之前装过(MariaDB) )
- 获取mysql的密码或者修改免密码登录
vi /etc/my.cnf
添加: skip-grant-tables 表示免密登陆
运行
grep "password" /var/log/mysqld.log
显示:
表示更改成功
6. 重启mysql服务(也可以不用):
systemctl restart mysqld.service
7 . 登录mysql:
通过初始密码登陆,,
mysql -uroot -p
(如果设置了免密登陆 直接回车就行, !!!!)
到此为止可以撒花了嘛,,,,,
NO No no !!!😭
不管怎么样 必须要修改密码!!!
8.1. 修改密码(成功版本)
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456你的密码';
- 如果你的密码太简单的话会报错 !!!
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
我的建议是,先设置之前默认的初始密码,然后再改
- 修改密码约束
1、查看 mysql 初始的密码策略,
输入语句 “ SHOW VARIABLES LIKE 'validate_password%';
” 进行查看
2、首先需要设置密码的验证强度等级,设置 validate_password_policy
的全局参数为 LOW 即可,
输入设值语句 “ set global validate_password_policy=LOW;
”
或者 set global validate_password_policy=0;
进行设值
3、当前密码长度为 8 ,如果不介意的话就不用修改了,按照通用的来讲,设置为 6 位的密码,设置 validate_password_length 的全局参数为 6 即可,
输入设值语句 “ set global validate_password_length=6;
” 进行设值
4、现在可以为 mysql 设置简单密码了,只要满足六位的长度即可
参考:https://www.jianshu.com/p/0445a4f1761b
https://www.cnblogs.com/ivictor/p/5142809.html
* 修改密码(我没成功版本,)
- 会出现递归的错!!!,可能我顺序有点bug也不一定
登录mysql:mysql -uroot -p回车,继续回车,然后设置新的密码:
mysql> use mysql;
mysql> update user set password=password("你的新密码") where user="root";
mysql> flush privileges;
mysql> quit;
最后编辑my.cnf,去掉刚才添加的内容,然后重启MySQL即可
参考:https://blog.youkuaiyun.com/qq_31073717/article/details/80635037
https://www.cnblogs.com/funbin/p/11154784.html
2. Navicat远程登陆虚拟机Mysql
因为我Mysql 安装在了虚拟机上,,就想着 通过Navicat 连一下呗!!
但是此时通过 虚拟机 ip ,3306端口访问却出现了一些坑
别急,听我的
1. 2003-Can`t connet ··· ···
1.关闭防火墙(centos)
systemctl stop firewalld.service
systemctl status firewalld.service
感谢这篇提醒了我:https://www.cnblogs.com/lcsvfg/p/7427784.html
2. 给Mysql授予远程登陆的权力
mysql -uroot -p
# 输入密码
- 输入密码登陆
use mysql;
# 否则会报错:ERROR 1046 (3D000): No database selected
- 查询用户表命令:
select User,authentication_string,Host from user
- 授予权限
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456'
这时候就有 通过 《root 用户名+密码》可以通过所有主机登陆
123456为你要设置的登陆密码,
%代表所有主机,也可以具体到你的主机ip地址
- 刷新缓存
flush privileges;
这一步一定要做,不然无法成功! 这句表示从mysql数据库的grant表中重新加载权限数据
这时候就可以Navicat远程登陆虚拟机Mysql
结束!!!!!!!!!!!!!!!
参考 https://www.cnblogs.com/goxcheer/p/8797377.html
https://blog.youkuaiyun.com/idomyway/article/details/81210420
https://blog.youkuaiyun.com/qq_31012509/article/details/89343526
还有问题的可以留言哦
https://www.cnblogs.com/zwq-/p/11221013.html
Tips 使用 tar 安装
参考链接 https://blog.youkuaiyun.com/ql_7256/article/details/108424249
创建mysql用户组和mysql用户
groupadd mysql
useradd -r -g mysql mysql
修改权限
chown -R mysql.mysql /opt/mysql-5.7.17
创建配置文件 my.cnf
把启动脚本放到开机初始化目录
cp ./support-files/mysql.server /etc/init.d/mysql
启动
service mysql start
如果发生下面错误。由于 MySQL 的配置文件未读取到,造成 MySQL 无法获取 PID 文件所在目录
/etc/init.d/mysql: line 239: my_print_defaults: command not found
【解决】mv ./my.cnf /etc/
如果启动报错,这是因为:在MySQL 5.7中,安全性提升,要求切换到软件安装目录,来启动数据库,所以得换种方式启动
启动
./bin/mysqld_safe --defaults-file=/home/mysql-5.7.41-el7-x86_64/my.cnf &