MySQL

Centos7安装mysql5.7(详细图解)

2020-07-24  本文已影响0人  陈煦缘

windows7安装 VMware14教程(详细图解)
VMware14安装Centos7(详细图解)
Centos7安装jdk、maven、Git和tomcat(详细图解)
Centos7安装mysql5.7(详细图解)
Centos7安装docker(详细图解)
Centos7安装及使用Jenkins(详细图解)

一、下载

centosyum安装的是 MariaDB。所以我们需要自己先配置yum源。配置yum源步骤如下:
下载yum源:
wget 'https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm'


若报错 -bash: wget: 未找到命令 安装wget
yum install wget

安装yum源
yum -y localinstall mysql57-community-release-el7-11.noarch.rpm

二、安装

yum install -y mysql-community-server
等待时间比较久:

三、启动mysql

在centos7中使用systemctl start mysqld启动

而在centos6中,使用service mysqld start

查看状态
systemctl status mysqld

如图所示,启动成功

四、登录数据库,修改数据库密码

mysql5.7在初始化的时候会生成一个自定义的密码,然后你需要找到这个密码
grep 'temporary password' /var/log/mysqld.log


初始密码:pJHd1PZ#!PN0
登录数据库:这里-p之后不用输入密码,回车后再输入。改过密码之后登录则是直接在-p后加密码了。

mysql -uroot -p

修改密码

注意,修改的密码太简单会不给修改,把大小写字母和数字加上就肯定可以了。然后切记切记,mysql里面的命令要加分号!分号!分号!
SET PASSWORD = PASSWORD('Admin123!');

五、 设置远程可以登录

现在这样是无法在本地用工具登录访问的,现在要做两件事,一件事是将云服务器上的3306端口开放;另一件事是配置远程可以访问。
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'Admin123!' WITH GRANT OPTION;


退出后重启一下数据库:
mysql> exit

重启:
systemctl restart mysqld

image.png

若登录失败,应该是防火墙问题,我这里将防火墙关闭了

防火墙开放3306端口

vim /etc/sysconfig/iptables
添加代码如下
-A INPUT -p tcp --dport 3306 -j ACCEPT
重启防火墙
service iptables restart

六、设置开机启动

systemctl enable mysqld
systemctl daemon-reload

七、mysql编码配置

设置编码为utf8mb4
vim /etc/my.cnf
需要手动添加上[client]和[mysql]。

[client]
default-character-set = utf8mb4


[mysql]
default-character-set = utf8mb4
[mysqld]
character-set-client-handshake = FALSE
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
init_connect='SET NAMES utf8mb4'

设置utf8编码只需要在 [mysqld]后添加 character_set_server=utf8
重启:
systemctl restart mysqld

验证结果

#重新登录
[root@localhost local]# mysql -uroot -p

#查看
mysql> SHOW VARIABLES WHERE Variable_name LIKE 'character\_set\_%' OR Variable_name LIKE 'collation%';

image.png

八、mysql其他配置

vim /etc/my.cnf
添加

default-time_zone = '+8:00' #默认时区配置
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
#设置数据库支持分组
lower_case_table_names=1
#表名不区分大小写

重启数据库:
systemctl restart mysqld

image.png
上一篇下一篇

猜你喜欢

热点阅读