centOs服务器安装mysql数据库(8.0以后版本)

348 阅读3分钟

下载和安装mysql源,wget 加上刚刚复制的地址

一、打开网址:dev.mysql.com/downloads/r… 选择对应linux版本 二、下载和安装mysql源,wget 加上刚刚复制的地址 wget dev.mysql.com/get/mysql80… 如果显示wget未找到命令,则需要先安装wget:

yum -y install wget

然后再次执行上面命令

  • 安装mysql源(注意这里需要和之前复制的版本一致)

      yum -y localinstall mysql80-community-release-el7-3.noarch.rpm
    

三、在线安装Mys(下载的东西比较多,看个人网速)

yum -y install mysql-community-server
    可能会报错:**Error: Unable to find a match: mysql-community-server**
    解决方案:
    先执行:yum module disable mysql  
    再执行:yum -y install mysql-community-server

四、启动mysql

systemctl start mysqld

五、设置开机启动

systemctl enable mysqld
systemctl daemon-reload

六、通过命令查看初始密码

cat /var/log/mysqld.log | grep password

七、通过命令进入数据库登陆界面,输入刚刚查到的密码,进行数据库的登陆,复制粘贴就行,MySQL 的登陆密码也是不显示的

mysql -uroot -p

八、通过命令来修改密码

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的密码';

通过 exit; 命令退出 MySQL,然后通过新密码(root)再次登陆

说明:可能会报错:ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

解决方案:

  • 第一步:

          # 8.0以后版本
          set global validate_password.policy=0;
          set global validate_password.length=1;
    

说明:如果执行以上命令还是报错:ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executin 可采用以下方案:

# 1、修改用户密码(可以设置一个复杂点的数字+字母(大小写)+符号)
alter user 'root'@'localhost' identified by 'youpassword';
# 2、刷新权限
flush privileges;

之后再执行第一步,即可成功。
  • 第二步:退出mysql后再执行以下命令

      mysql_secure_installation
    
  • 继续使用之前的初始密码登录进去按提示即可设置新密码,一路yes就可以。

九、通过以下命令,进行远程访问的授权

create user 'root'@'%' identified with mysql_native_password by '你的密码';
grant all privileges on *.* to 'root'@'%' with grant option;
flush privileges;

十、输入exit退出,打开防火墙开放3306端口

#打开防火墙
systemctl start firewalld;

#开放端口
firewall-cmd --zone=public --add-port=3306/tcp --permanent;
firewall-cmd --reload;

补充:可能会报错Failed to start firewalld.service: Unit firewalld.service not found.

原因:未安装firewalld 解决方案:

yum install firewalld  
systemctl unmask firewalld  
systemctl enable firewalld  
systemctl start firewalld  
依次执行以上命令后发现终于ok了

其他命令
systemctl start firewalld.service //开启防火墙  
systemctl stop firewalld.service //关闭防火墙  
systemctl enable firewalld.service //设置开机自动启动  
systemctl disable firewalld.service //设置关闭开机制动启动  
firewall-cmd --reload //在不改变状态的条件下重新加载防火墙

十一、配置默认编码为UTF-8

    修改/etc/my.cnf配置文件,在[mysqld]下添加编码配置,如下所示:
	character_set_server=utf8
	init_connect='SET NAMES utf8'

十二、编辑保存完重启mysql服务:

systemctl restart mysqld

十三、查看下编码:(登录mysql)

show variables like '%character%';

十四、如果是使用阿里云服务,需要在安全规则组打开3306端口

最后即可通过工具连接mysql库,端口为3306