欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

CentOS7安装MySql遇到的问题

程序员文章站 2022-06-05 19:58:51
...

一、官网Mysql的下载链接:https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm

二、下载mysql rpm包:

wget https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm  

载mysql rpm包时可能会出现几个问题:


1、非root用户使用命令前需要加上sudo。

     2、-bash: wget: command not found :命令没有找到,需要下载即安装wget软件包。linux最小化安装时,wget不会默认被安装。

以上第二种有以下两种解决方案:

1、rpm 安装
rpm 下载源地址:http://mirrors.163.com/centos/7/os/x86_64/Packages/
下载wget的RPM包:http://mirrors.163.com/centos/7/os/x86_64/Packages/wget-1.14-13.el7.x86_64.rpm 
rpm ivh wget-1.14-13.el7.x86_64.rpm  安装即可。

  2、yum安装
yum -y install wget

非root用户需在命令前加上sudo,否则无法执行命令。

三、rpm安装

rpm -ivh mysql57-community-release-el7-11.noarch.rpm  
四、rpm安装完成之后yum安装
yum install mysql57-community-release-el7-11.noarch.rpm  
五、安装完成之后查看初始密码
grep temporary password /var/log/mysqld.log  
不需要查看初始密码的可以直接去修改密码即可 。

六、测试登录

mysql -uroot -p 
七、如果登录之后无法做任何操作或者登录报1045错误代码,则尝试修改密码并重新登录
   $ sudo systemctl stop mysqld.service
     $ sudo systemctl set-environment MYSQLD_OPTS="--user=mysql --skip-grant-tables --skip-networking"
     $ sudo systemctl start mysqld.service    
     $ mysql -u root mysql
 
     mysql > UPDATE mysql.user SET authentication_string=PASSWORD("此处是重置的新密码")  WHERE user='root' and host='localhost';
     mysql > flush privileges;
     mysql > quit
 
     $ sudo systemctl unset-environment MYSQLD_OPTS
     $ sudo systemctl restart mysqld.service
 
mysql 开启远程连接
1. 登录数据库

mysql -uroot -p  
 2. 开启远程连接
    root 用户名 
    % 所有人都可以访问 
    password 密码
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;
mysql> FLUSH PRIVILEGES; 
 3. 重启mysql
service mysqld restart 

若遇到这个错误:ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.

考官方的文档,见http://dev.mysql.com/doc/refman/5.6/en/alter-user.html

以上操作会遇到新问题:
ERROR 1819 (HY000): Your password does NOT satisfy the CURRENT policy requirements。
又参考了官方文档,见http://dev.mysql.com/doc/refman/5.7/en/validate-password-plugin.html。
应该是密码过于简单了。 后来用大写字母+数字+特殊字符混合了一个密码。重置密码成功!
注意:如果只想设置简单密码需要修改两个全局参数:
mysql> set global validate_password_policy=0;
mysql> set global validate_password_length=1;
执行完以上步骤还是不能远程连接mysql的话,尝试开放防火墙的3306端口或者关闭防火墙