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

新手操作,欢迎大家指教,喜欢的记得点赞哦

你可能感兴趣的:(centos7 mysql 5.7安装配置)