Linux服务器安装MySQL

22 篇文章 1 订阅
11 篇文章 3 订阅

Linux服务器安装MySQL

  1. 安装数据库一定是第一步,(CentOS7带有MariaDB而不是MySQL,MariaDB和MySQL一样也是开源的数据库)

    1)查看有没有安装过数据库:

    yum list installed mysql*
    rpm -qa | grep mysql*
    

    2)查看有没有安装包:
    yum list mysql*
    在这里插入图片描述
    移除原来Linux自带数据库,以免影响后续安装
    yum remove mysql-libs
    在这里插入图片描述
    清理数据源

  yum clean dbcache

在这里插入图片描述

3)执行安装命令

下载地址1:mysql官网
下载地址2:其它镜像网址

// 5.6.45版本
wget http://repo.mysql.com/mysql-community-release-el6-5.noarch.rpm
rpm -ivh mysql-community-release-el6-5.noarch.rpm

或

rpm -ivh MySQL-client-5.6.42-1.el7.x86_64.rpm
rpm -ivh MySQL-server-5.6.42-1.el7.x86_64.rpm

或直接执行安装命令

yum -y install mysql-server

// 5.7版本

wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm

在这里插入图片描述
在这里插入图片描述
”Complete” ok 第一步 mysql 安装成功!

  1. 启动数据库:安装完毕,执行命令
    service mysqld start
    在这里插入图片描述
    看到Starting mysqld: 为 确认/ok状态,代表mysql数据库启动成功。

查看 MySQL 运行状态:

service mysqld status

验证 MySQL 安装

使用 mysqladmin 工具来获取服务器状态:
(在成功安装 MySQL 后,一些基础表会被初始化,在服务器启动后,你可以通过简单的测试来验证 MySQL 是否工作正常。)

mysqladmin --version
  1. 登录数据库:
    mysql -u root -p
    回车后输入密码(mysql的默认用户root默认密码为空)
    在这里插入图片描述
  2. 查看数据库 :
mysql> show databases;
  1. 登录成功切换到mysql数据库
mysql> use mysql;

在这里插入图片描述

  1. 新建用户

    1)新建用户远程连接mysql数据库:
    允许任何ip地址的电脑用 admin/root 帐户和密码 (123456) 来访问这个 mysql server。
    【注】admin账户不一定要存在,%表示允许任何ip地址。

mysql> grant all on *.* to admin@'%' identified by '123456' with grant option; 

在这里插入图片描述
刷新

flush privileges;

2)支持root用户允许远程连接mysql数据库
新建root用户,并给此用户赋予数据库和及所有对象的操作权限
(这个赋权语句的 % 代表之间任意主机连接到 mysql服务器,这样的话 navicat这个客户肯定没有问题)

mysql> grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option;

mysql> Flush privileges;

在这里插入图片描述
在这里插入图片描述
使用ALTER修改root用户密码,方法为 ALTER user ‘root’@’localhost’ IDENTIFIED BY ‘新密码’.
如果是 localhost root,则只能本地访问。如果是 % root则可以远程访问。

修改密码,是否为localhost用户决定了这里的修改密码的用户,根据自己的用户更改

ALTER user 'root'@'localhost' IDENTIFIED BY '123456';

alter user 'root'@'%' identified by '123456';

如果报错:

mysql Error: Column count of mysql.user is wrong. Expected 45, found 43. The table is probabl

因为版本不足导致的,解决方法很简单,把版本升级就ok了

mysql_upgrade -u root -p

如果报错:Your password does not satisfy the current policy requirements 说明密码不够复杂

  1. 查看系统用户
mysql> use mysql;
mysql> select user, host from user;

在这里插入图片描述
7.退出命令是:

mysql> Ctrl + C 
mysql> exit!

8.设置mysql开机自启动 (使用vi 编辑/etc/rc.local)

vi /etc/rc.local

在文件末尾加上

service mysqld start

在这里插入图片描述
使用客户端链接一下数据库吧!
要是没有连接成功,检查一下防火墙:

具体操作可以看这里 防火墙设置与配置开放端口

ok!数据库部分安装至此已是结束!
问题基本不是很大,如果出现其他bug,可以在网上找找,我这没出现问题,也不知道大家的问题会是什么!欢迎留言评论大家一起探讨!


2020-07-03 更新bug

Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: 
  • 因为随着MySQL版本更新,在MySQL5.7版本之后对group by进行了优化,他默认启动改进之后的版本,启动了ONLY_FULL_GROUP_BY模式。
  • 官方解释:ONLY_FULL_GROUP_BY是MySQL数据库提供的一个sql_mode,通过这个sql_mode来保证SQL语句“分组求最值”合法性的检查。这种模式采用了与Oracle、DB2等数据库的处理方式。即不允许select target list中出现语义不明确的列。

1:只要有聚合函数sum(),count(),max(),avg()等函数就需要用到group by,否则就会报上面的错误。

2:group by id(id是主键)的时候,select什么都没有问题,包括有聚合函数。

3:group by role(非主键)的时候,select只能是聚合函数和role(group by的字段),否则报错

解决方案:

修改配置文件my.ini / my.cnf 中 sql_mode

MySQL配置文件在Windows下叫 my.ini ,如果没有找到my.ini文件。

去系统的隐藏文件夹查看,在某个盘下输入%ProgramData%然后搜索MySQL的my.ini文件。

在MySQL的安装根目录下;在Linux下叫 my.cnf

一般该文件位于 /etc/my.cnf

然后重启MySQL服务:service mysqld restart

【注】服务重启之后不一定立即生效,尤其是你买的服务器,存在延时。

  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值