CentOS7中安装MySQL(VM虚拟机)

CentOS7中安装MySql(VM虚拟机)

- MySQL rpm包准备
mysql的历史版本均可下载:
https://downloads.mysql.com/archives/community/
本次以学习下载5.7.21版本(mysql-5.7.21-1.el7.x86_64.rpm-bundle.tar)为进行练习,下载好传至linux中。在这里插入图片描述

- CentOS7 环境准备

删除centos7自带的数据库mariadb
先看一下系统中是否存在mariadb,用 rpm -qa | grep mariadb 命令查看,如存在则需要进行卸载 rpm -e --nodeps mariadb-libs

- 安装

  1. 解包
    tar -xvf mysql-5.7.21-1.el7.x86_64.rpm-bundle.tar
  2. rpm命令安装
    rpm -ivh mysql-community-common-5.7.21-1.el7.x86_64.rpm
    rpm -ivh mysql-community-libs-5.7.21-1.el7.x86_64.rpm
    rpm -ivh mysql-community-devel-5.7.21-1.el7.x86_64.rpm
    rpm -ivh mysql-community-libs-compat-5.7.21-1.el7.x86_64.rpm
    rpm -ivh mysql-community-client-5.7.21-1.el7.x86_64.rpm
    rpm -ivh mysql-community-server-5.7.21-1.el7.x86_64.rpm

    注意:安装最后一个server时出错的,试下下面的命令:
    rpm -ivh mysql-community-server-5.7.21-1.el7.x86_64.rpm --force --nodeps
  3. 修改配置文件跳过密码登录
    关闭mysql服务:service mysqld stop
    打开配置文件:vim /etc/my.cnf
    在配置文件中添加 skip-grant-tables 这句话就可以空密码登录mysql
    在这里插入图片描述
    开启mysql服务:service mysqld start
  4. 设置root用户的密码
    登录:mysql -u root -p
    出现输入密码提示时直接回车
    mysql> use mysql;
    设置mysql密码:mysql> set password for root@localhost = password(‘123456’);
    如果提示下面的错误:
    ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement
    mysql> flush privileges; #更新权限
    Query OK, 0 rows affected (0.10 sec)
    mysql> SET PASSWORD FOR ‘root’@‘localhost’ = PASSWORD(‘newpass’);
    【此处失败的话就用以下两句命令
    mysql>update user set authentication_string = password(‘新密码’),password_last_changed=now() where user=‘root’;
    mysql> GRANT ALL PRIVILEGES ON . TO ‘root’@’%’ IDENTIFIED BY ‘123456’ WITH GRANT OPTION;
    mysql>flush privileges; #更新权限
    mysql>quit; #退出
    service mysqld stop # 停止mysql服务, 恢复mysql配置
    vim /etc/my.cnf #修改配置文件,注释之前添加的代码
    在这里插入图片描述
    service mysqld start # 启动mysql服务
    mysql -u root -p # 输入新密码登录
    设置mysql开机自启:systemctl enable mysqld(退出mysql进行设置)

- 连接navicat
1.设置root用户连接的ip的权限
mysql>flush privileges; #更新权限
2.设置root用户可以在任意ip(% 通配符),或者指定ip下进行登陆
mysql> SET PASSWORD FOR ‘root’@’%’ = PASSWORD(‘123456’);
在这里插入图片描述
3.然后就可以在局域网内的机器上安装navicat进行连接了
在这里插入图片描述
这中间可能还会报一些错,可能是linux防火墙未开放相应的端口,可以使用以下命令开启:
[root@localhost logs]# firewall-cmd --zone=public --add-port=3306/tcp --permanent
重新载入一下
[root@localhost logs]#firewall-cmd --reload

常见问题:
You must reset your password using ALTER USER statement before executing this statement(在执行此语句之前,必须使用ALTER USER语句重置密码)
Your password does not satisfy the current policy requirements(您的密码不满足当前的策略要求)
SET PASSWORD = PASSWORD(‘new password’);
ALTER USER ‘root’@‘localhost’ PASSWORD EXPIRE NEVER;
FLUSH PRIVILEGES;

解决Java程序向mysql数据库插入中文乱码问题的多种方式
https://blog.csdn.net/qq_27760433/article/details/76121783

发布了18 篇原创文章 · 获赞 6 · 访问量 3243

猜你喜欢

转载自blog.csdn.net/asd0654123/article/details/84348850