centos 6.10 安装 mysql 5.7.10 遇到的问题及解决过程

1.首先卸载掉centos原有的mysql;

2.下载安装mysql5.7.10

下载mysql 5.7.10安装包: https://cdn.mysql.com/archives/mysql-5.7/mysql-community-server-5.7.10-1.el6.x86_64.rpmnode

下载https://cdn.mysql.com/archives/mysql-5.7/mysql-community-libs-5.7.10-1.el6.x86_64.rpmmysql

下载https://cdn.mysql.com/archives/mysql-5.7/mysql-community-common-5.7.10-1.el6.x86_64.rpmsql

安装过程: 安装mysql:centos

rpm -ivh mysql-community-server-5.7.19-1.el6.x86_64.rpm --force --nodeps

--force --nodeps是为了保证因为没有key致使安装失败的参数socket

安装libscode

rpm -ivh mysql-community-libs-5.7.10-1.el6.x86_64.rpm

安装commoncdn

rpm -ivh mysql-community-common-5.7.10-1.el6.x86_64.rpm
  • 注意:安装common前删除/usr/share/mysql/下的文件

3.配置my.cnf

[mysqld]
datadir=/data/mysql/lib
socket=/data/mysql/mysql.sock
user=mysql
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
explicit_defaults_for_timestamp=1
default_password_lifetime=0
#skip-grant-tables
sql_mode = "STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"

[mysqld_safe]
log-error=/data/mysql/log/mysqld.log
pid-file=/data/mysql/run/mysqld/mysqld.pid
  • 注意:配置的路径中非mysql默认的路径,须要手动建立文件夹
  • explicit_defaults_for_timestamp的配置是为了防止一个timestamp的警告添加的配置

启动: service mysqld startserver

4.登陆mysql修改密码

在配置中添加skip-grant-tables能够容许免密登陆,也能够使用启动时给的临时密码,不过在我这里临时密码一直报过时的问题。ip

登陆后修改root密码,同时将密码设置为不会过时:ci

update mysql.user set authentication_string=password('newPass') where user='root' ;
update user set password_expired='N' where user='root';
flush privileges;

配置中也须要添加default_password_lifetime=0

须要远程登陆root的话要添加root@%的权限

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'newPass' WITH GRANT OPTION;
flush privileges;

这就基本能够进行数据的使用了

5.执行查询时的问题

在执行select的时候若是有order by子句,可是没有把全部的列都写到order by中的话会报1055的错,解决方法以下:

在/etc/my.cnf配置中增长配置:

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

重启mysql,以后就不会报错了。

相关文章
相关标签/搜索