CentOS 7之后的版本yum的默认源中使用MariaDB替代原先MySQL,因此安装方式较为以往有一些改变:
下载mysql的源
wget http://dev.mysql.com/get/mysql57-community-release-el7-7.noarch.rpm
安装yum库
yum localinstall -y mysql57-community-release-el7-7.noarch.rpm
安装MySQL
yum install -y mysql-community-server
启动MySQL服务
systemctl start mysqld.service
MySQL5.7加强了root用户的安全性,因此在第一次安装后会初始化一个随机密码,以下为查看初始随机密码的方式
grep 'temporary password' /var/log/mysqld.log
结果如下:
使用初始随机密码登录后MySQL会强制要求修改密码,否则无法正常使用,(密码必须包含小写、大写字母及特殊字符,当然也有其他方法不受此限制,再次不多做描述),修改方法如下:
登陆mysql
mysql -u root -p
SET PASSWORD = PASSWORD('your new password');
ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER;
flush privileges;
然后退出后即可用新密码登录。
远程连接授权:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'your password' WITH GRANT OPTION;
开通端口(默认3306):
firewall-cmd --add-port=3306/tcp
表名不区分大小写:
vi /etc/my.cnf
添加 lower_case_table_names=1
安装成功后执行sql语句会报以下错误
MySQL报错“Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggre”
解决方案:
set @@sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';
去掉ONLY_FULL_GROUP_BY 即可正常执行