请选择 进入手机版 | 继续访问电脑版
 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 234|回复: 0

centos7 安装mysql数据库完整教程

[复制链接]

134

主题

134

帖子

201

积分

管理员

Rank: 10Rank: 10Rank: 10

积分
201
发表于 2019-07-06 10:50:04 | 显示全部楼层 |阅读模式
  在安装mysql数据库志强要看一下没有MariaDB,有MariaDB就要将其卸载,不然可能会导致错误。原来安装过mysql的也要卸载后才可安装。
  一:安装mysql

1. 卸载MariaDB

先查看一下系统上的mariadb

#rpm -qa | grep mariadb

mariadb-libs-5.5.56-2.el7.x86_64

然后卸载

#rpm -e --nodeps mariadb-libs-5.5.56-2.el7.x86_64

ps:

rpm -qa 列出所有已安装软件包

rpm -e packagename  删除软件包

rpm -e --nodeps packagename  强制删除软件和依赖包

rpm -q 包名     查询包是否安装

rpm -ivh 包名     安装软件包


2.原来安装mysql的话,先卸载,再安装:如下命令:

rpm -qa|grep mysql

yum remove MySQL-client-5.6.17-1.el6.i686


所有的操作都是切换到root用户下进行
1、安装MySQL官方的Yum Repository
  1. wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
复制代码


2:、下载rpm包

  1. yum -y install mysql57-community-release-el7-10.noarch.rpm
复制代码


3、安装MySQL服务

  1. yum -y install mysql-community-server
复制代码


执行安装服务的时间比较长,耐心等待,中间有一次询问y/n?输入y回车

4、启动mysql服务:

  1. systemctl start  mysqld.service
复制代码


5、其他命令:

重启:systemctl restart mysqld.service

停止:systemctl stop mysqld.service

查看状态:systemctl status mysqld.service

最后两行出现:代表启动成功。
Starting MySQL Server...
Started MySQL Server.


二:初始化设置

1、登录用户:


[root@localhost ~]# mysql -u root -p

首次登录需要输入生成的初始密码,登陆后必须要修改这个密码。
初始密码默认是/var/log/mysqld.log,找到由大小写和符号组成的密码

2、重新设置密码:

重新设置密码之前,需要根据自己需求设置密码的复杂度和长度时,要登录数据库后设置如下参数。

validate_password_policy代表密码策略,默认是1:符合长度,且必须含有数字,小写或大写字母,特殊字符。设置为0判断密码的标准就基于密码的长度了。一定要先修改两个参数再修改密码

mysql> set global validate_password_policy=0;

validate_password_length代表密码长度,最小值为4

mysql> set global validate_password_length=4;

通过命令查看设置参数的情况:

mysql> SHOW VARIABLES LIKE 'validate_password%';

+--------------------------------------+-------+
| Variable_name            | Value |
+--------------------------------------+-------+
| validate_password_dictionary_file  |    |
| validate_password_length       | 6   |
| validate_password_mixed_case_count  | 2   |
| validate_password_number_count    | 1   |
| validate_password_policy       | LOW  |
| validate_password_special_char_count | 1   |
+--------------------------------------+-------+
6 rows in set (0.00 sec)

注意:以上两行设置都是临时设置,重启数据库后需要重新设置,再创建新密码。

设置新密码:

修改密码为root,之后就可以使用该密码登录了

mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'mima';             //代码用户为root的密码是mima.

3、退出数据库:

exit;

注意:

/etc/my.cnf 这是mysql的主配置文件
/var/lib/mysql mysql数据库的数据库文件存放位置
/var/log mysql数据库的日志输出存放位置
三:更改远程访问权限

1、使用grant all privileges on来更改用户对应某些库的远程权限

语法模板:

grant all privileges on 库名.表名 to '用户名'@'IP地址' identified by '密码' with grant option;

具体含义:

库名:要远程访问的数据库名称,所有的数据库使用“*”
表名:要远程访问的数据库下的表的名称,所有的表使用“*”
用户名:要赋给远程访问权限的用户名称
IP地址:可以远程访问的电脑的IP地址,所有的地址使用“%”
密码:要赋给远程访问权限的用户对应使用的密码

实例:

以下语句代表:所有的地址都可以使用root用户,密码为lxh远程访问所有的数据库(远程软件登录时一定要设置下面这句)

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'lxh' WITH GRANT OPTION;

以下语句代表: IP为172.16.52.225的电脑可以使用lxh用户,密码为lxh远程访问数据库testdb的所有表
GRANT ALL PRIVILEGES ON testdb.* TO 'lxh'@'172.16.52.225'  IDENTIFIED BY 'lxh' WITH GRANT OPTION;

注意:
需要注意mysql的配置文件中的bindaddress 的参数和skip-networking 配置

bindaddress : 设定哪些ip地址被配置,使得mysql服务器只回应哪些ip地址的请求),最好注释掉该参数或设置成为127.0.0.1以外的值

skip-networking : 如果设置了该参数项,将导致所有TCP/IP端口没有被监听,也就是说出了本机,其他客户端都无法用网络连接到本mysql服务器,所以应该注释掉该参数

2、设置参数

设置数据库编码方式:

打开: /etc/my.cnf,滚动到文件底部复制并粘贴

[mysqld]

character_set_server=utf8
init_connect='SET NAMES utf8'

注意:

采用navicat新建数据库时,需要将编码方式设置为,字符集:utf8 -- UTF-8 Unicode ,排序规则:utf8_general_ci

在运行sql语句时,出现以下问题:

[Err] 1055 - Expression #1 of ORDER BY clause is not in GROUP BY clause and contains nonaggregated c

原因:

MySQL 5.7.5及以上功能依赖检测功能。如果启用了ONLY_FULL_GROUP_BY SQL模式(默认情况下),MySQL将拒绝选择列表,HAVING条件或ORDER BY列表的查询引用在GROUP BY子句中既未命名的非集合列,也不在功能上依赖于它们。(5.7.5之前,MySQL没有检测到功能依赖关系,默认情况下不启用ONLY_FULL_GROUP_BY。有关5.7.5之前的行为的说明,请参见“MySQL 5.6参考手册”)。

解决办法:

打开: /etc/my.cnf

滚动到文件底部复制并粘贴

[mysqld]
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

到文件的底部

保存并退出输入模式

systemctl  restart mysqld.service

重启MySQL

systemctl restart mysqld.service



到此为止,所有的安装步骤就完成了,大家可以使用Navicat来对数据库进行操作了。



回复

使用道具 举报

*滑动验证:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表