学习安装MySQL时发现官方源很慢,试了国内腾讯源快,记录一下
Linux CentOS7.6前置环境:
- CPU 1
- 内存 4GB
- 硬盘 SCSI 20GB
- 网络模式 桥接 系统内为自动DHCP
ping qq.com
可通互联网
以下为MySQL5.7安装步骤
- 编辑新repo库 路径:/etc/yum.repos.d/mysql-community.repo
vi /etc/yum.repos.d/mysql-community.repo
写入以下代码(接入腾讯MySQL的Yum源仓库[mysql57-community] name=MySQL 5.7 Community Server baseurl=https://mirrors.cloud.tencent.com/mysql/yum/mysql-5.7-community-el7-x86_64/ enabled=1 gpgcheck=0
- 安装MySQL5.7
yum install mysql-community-server -y
- 启动MySQL5.7
systemctl start mysqld.service systemctl enable mysqld.service
- 查找MySQL初始化密码
cat /var/log/mysqld.log | grep "temporary password"
代码输出: 可以看到生成密码为fy_zs%4EK
- 初始化数据库
mysql_secure_installation
使用该命令时,在一开始需要输入第4步找到的密码,但我实际操作中密码输入正确也是拒绝登录 以下为拒绝登录的输出:
这个错误可能是是密码错误引起,所以我的解决的办法就是重置密码。
以下为解决方法,个人已试过成功
5.1 跳过MySQL的密码认证
vi /etc/my.cnf
在[mysqld]后面任意一行添加“skip-grant-tables”跳过密码验证如下图
点击ESC,再按住shift点击两下z键执行保存并退出操作
5.2 重启MySQL服务
service mysqld restart
5.3 免密码登陆,使用以下命令然后回车,提示输入密码时,直接按enter键,可以不用密码登录到数据库,
mysql -u root -p
登入后使用flush privileges;
更新权限以跟新密码
5.3 修改新密码
ALTER USER ‘root’@‘localhost’ IDENTIFIED BY ‘新密码’;
回车执行后使用exit;
退出数据库
5.4 把my.cnf中添加的skip-grant-table删除,如下图
vi /etc/my.cnf
点击ESC,再按住shift点击两下z键执行保存并退出操作
5.5 重启MySQL 使用service mysqld restart
5.6 登录MySQL 使用mysql -u root -p
在输出的第一行处输入刚才在数据库中重置的密码(注:密码不会显示,输入完整后按回车进入进入数据库
5.7 使用exit;
退出数据库,执行第5步mysql_secure_installation
然后回车执行(需要输入Y或N并回车几次,直接回车就是执行Y操作,最后有翻译注释)
Enter current password for root (enter for none): #输入数据库root用户的密码
Set root password? [Y/n] #是否设置root用户密码,输入y并回车或直接回车 注意我图里按了n所以有所不同
New password: #设置root用户的密码
Re-enter new password: #再输入一次你设置的密码
Remove anonymous users? [Y/n] #是否删除匿名用户,生产环境要删除,直接回车
Disallow root login remotely? [Y/n] #是否禁止root远程登录,因为我后面想用软件远联数据库,所以输n然后回车
Remove test database and access to it? [Y/n] #是否删除test数据库,直接回车
Reload privilege tables now? [Y/n] #是否重新加载权限表,直接回车 - mysql_secure_installation安装结束后,执行
mysql -u root -p
使用在5.7步骤中重置的密码进行登录,登录成功(注意!在Enter password:键入的密码不会显示,输入完整密码后回车)