centos7 mysql 5.7 安装配置

###1.下载mysql源安装包

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

###2.安装mysql源

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

###3.检查mysql源是否安装成功

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

###4.出现类似这样的就OK了

###5.可以修改MySQL安装源,改变默认安装的mysql版本。

vim /etc/yum.repos.d/mysql-community.repo

比如要安装5 .6版本, 将5 .7源的enabled=1改成enabled=0。然后再将5 .6源的enabled=0改成enabled=1即可
###6.正式安装mysql

yum install mysql-community-server

安装过程中,有选择的话就选yes就行了,即输入:y
###7.启动MySQL

systemctl start mysqld

###8.设置MySQL开机启动,执行下面两条命即可

systemctl enable mysqld
systemctl daemon-reload

###9.查看mysql状态

systemctl status mysqld

MySQL状态

###10.修改root本地登录密码
  mysql安装完成之后,在/var/log/mysqld.log文件中给root生成了一个默认密码。通过下面的方式找到root默认密码,然后登录mysql进行修改,输入命令

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

Image [2].png
得到初始密码:.S7jyjR+#k(l

mysql -uroot -p

输入上面得到的密码进入MySQL命令模式,执行设置密码命令(ccc123456是我的密码,密码自行设置)

set password for 'root'@'localhost'=password('ccc123456!');    

如果出现了:Your password does not satisfy the current policy requirements
执行命令:

set global validate_password_policy=0;
set password for 'root'@'localhost'=password('ccc123456!');

###11.配置默认编码为utf8
修改/etc/my.cnf配置文件,在[mysqld]下添加编码配置

vi  /etc/my.cnf

在[mysqld]下面加上

character_set_server=utf8
init_connect='SET NAMES utf8'

不需要密码策略操作:

validate_password = off

###12.设置远程访问权限
给192.168.0.101 远程访问权限

GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.0.101' IDENTIFIED BY 'root用户的密码' WITH GRANT OPTION;

给任意IP 远程访问mysql权限
GRANT ALL PRIVILEGES ON . TO ‘root’@’%’ IDENTIFIED BY ‘root用户的密码’ WITH GRANT OPTION;
###13.mysql其他配置

mysql_secure_installation

然后回弹出一写乱七八糟的,老夫看不懂,主要的就是:
 (1)Set root password?[Y/n]y-------设置root用户密码-------因为前面没有设置密码,所以现在设置一下密码,输入:y 后面的操作比较简单,输入密码而已。
 (2)Remove anonymous users? [Y/n] y -------删除匿名用户,这个选项看个人了 -------我选的是y
 (3)Disallow root login remotely? [Y/n] y -------禁止root远程登录 -------这个我选的n
 (4)Remove test database and access to it? [Y/n] y -------删除test数据库 ------- 这个我选的Y
 (5)Reload privilege tables now? [Y/n] y ------- 刷新权限 -------我选的Y

###14.默认配置文件路径:
配置文件:/etc/my.cnf
日志文件:/var/log//var/log/mysqld.log
服务启动脚本:/usr/lib/systemd/system/mysqld.service
socket文件:/var/run/mysqld/mysqld.pid

基本安装配置完成了,下面是一些使用过程中遇到的问题


###附:
####1.将mysql数据库表主键重置为1

TRUNCATE TABLE   表名

此操作会吧表的所有数据瞬间清空,主键id重置为1

####2…分组查询的时候报错:which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by
重点是这个 sql_mode=only_full_group_by,这时候修改一下mysql的配置文件:

vim /etc/my.cnf

如果里面存在配置sql_mode则修改为

sql_mode = "STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"

如果不存在的话就直接加上

sql_mode = "STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"

最后重启nysql服务解决问题
####3.mysql中文乱码问题
服务端接收到的中文参数没有乱码,存入数据库的时候发现中文乱码了。
数据库的编码格式已经设置为utf-8 ,表的编码格式也是utf-8.
正常情况貌似不会出现乱码,but现在出现了。
解决办法:
在数据库连接加上 编码限制
修改之前:
image.png

修改之后:

image.png

新手操作,有疑问或者建议的欢迎大家留言或者在我的公众号上留言,微信搜索:forkroad

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值