0
点赞
收藏
分享

微信扫一扫

MySQL5.7安装

快速部署使用yum在Linux下进行安装

YUM)

  1. 下载MySQL源安装包

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

  2. 安装

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

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

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

  4.修改yum源

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

改变默认安装的mysql版本。比如要安装5.6版本,将5.7源的enabled=1改成enabled=0。然后再将5.6源的enabled=0改成enabled=1即可。
备注:enabled=1表示即将要安装的mysql版本,这个文件也可以不修改,默认安装mysql最高版本

  5. 安装MySQL

yum install mysql-community-server

  6.启动MySQL并设置开机启动

$ systemctl start mysqld
$ systemctl enable mysqld
$ systemctl daemon-reload

  7.端口开放

$ firewall-cmd --zone=public --add-port=3306/tcp --permanent
$ firewall-cmd --reload

  8.修改root本地登录密码

    1)查看默认密码

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

    2)使用临时密码登录MySQL

$ mysql -uroot -p

    3)修改密码(首先需要操作)

mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass4!';
或者:
mysql> set password for 'root'@'localhost'=password('MyNewPass4!');

    4)查看密码策略

mysql> show variables like '%password%';

  9.添加远程登录用户

mysql> GRANT ALL PRIVILEGES ON *.* TO 'caoxiaobo'@'%' IDENTIFIED BY 'Caoxiaobo0917!' WITH GRANT OPTION;

  10.使用客户端连接测试即可

 

 

 

常见问题:

1.出现datetime默认值为0000-00-00 00:00:00

原因:mysql5.7 datetime 默认值0000-00-00 00:00:00出错,是因为mysql5.7版本后,sql_mode参数被设置了NO_ZERO_IN_DATE,NO_ZERO_DATE

解决:

临时修改:
mysql> set global sql_mode='ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION' ;
mysql> set session sql_mode='ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION' ;


这里是去重:NO_ZERO_IN_DATE,NO_ZERO_DATE

永久修改:

sql_mode=ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

或者 修改datetime的默认值

 

2. 

mysql命令gruop by报错this is incompatible with sql_mode=only_full_group_by

默认关掉ONLY_FULL_GROUP_BY!

 


举报

相关推荐

0 条评论