centos通过YUM安装mysql

下载

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

安装rpm

yum localinstall mysql57-community-release-el7-8.noarch.rpm

检查

yum repolist enabled | grep "mysql.*-community.*"

输出结果:
在这里插入图片描述

安装mysql服务

 yum install -y mysql-community-server

启动MySQL服务

systemctl start mysqld

查看MySQL的启动状态

systemctl status mysqld

输出

 mysqld.service - MySQL Server
   Loaded: loaded (/usr/lib/systemd/system/mysqld.service; disabled; vendor preset: disabled)
   Active: active (running) since 五 2016-06-24 04:37:37 CST; 35min ago
 Main PID: 2888 (mysqld)
   CGroup: /system.slice/mysqld.service
           └─2888 /usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid
6月 24 04:37:36 localhost.localdomain systemd[1]: Starting MySQL Server...
6月 24 04:37:37 localhost.localdomain systemd[1]: Started MySQL Server.

开机启动

systemctl enable mysqld
systemctl daemon-reload

修改root默认密码

安装完成之后,在/var/log/mysqld.log文件中给root生成了一个默认密码。
查看默认密码

grep 'temporary password' /var/log/mysqld.log

输出
在这里插入图片描述其中 Q2>r4=l-DWIP 就是我的默认密码

用默认密码登录

mysql -uroot -p
Enter password: Q2>r4=l-DWIP

修改默认密码

mysql> SET PASSWORD = PASSWORD('root');

允许root远程登录

mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123@asdf' WITH GRANT OPTION;
mysql> flush privileges;

第一句中”%”表示任何主机都可以远程登录到该服务器上访问。如果要限制只有某台机器可以访问,将其换成相应的IP即可,如:
GRANT ALL PRIVILEGES ON . TO root@”172.168.193.25” IDENTIFIED BY “123@asdf”;
123@asdf是登录密码。
第二句表示从mysql数据库的grant表中重新加载权限数据。因为MySQL把权限都放在了cache中,所以在做完更改后需要重新加载。
注意

  1. 具体生产环境根据自己的配置需要再进行配置。
  2. 阿里云云服务器如果MySQL配置了远程访问还是无法访问,可能是阿里云默认是不开放3306端口的。可以去阿里云的控制台修改网络配置。

修改字符集编码 UTF-8

show variables like 'char%'

检测是否都是utf-8(filesystem除外),如果不是就得改,例如这个character_set_server一般是拉丁编码

修改编码

停数据库

//
systemctl stop mysqld

进入 my.cnf 文件,一般是在etc路径下

vim /etc/my.cnf
[mysqld]下追加:
character-set-server=utf8
在[mysql]下追加:
default-character-set=utf8

加入要修改的字符集 修改完:wq退出
重启数据库

systemctl start mysqld

mysql启动后访问不了

一般情况是因为linux没有开放端口
如果开启了 firewall 则添加3306端口

firewall-cmd --permanent --add-port=3306/tcp
firewall-cmd --reload
systemctl restart firewalld.service

如果不需要防火墙,直接关闭

systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall开机启动
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值