CentOS7安装MySql遇到的问题

来源:互联网 发布:优化图标 编辑:程序博客网 时间:2024/06/06 01:25

一、官网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端口或者关闭防火墙