CentOS 7 使用RPM安装 MySQL5.7
# 下载RPM包
https://downloads.mysql.com/archives/community/
# 关闭并卸载之前安装的MySQL(没有则跳过)
rpm -qa | grep mysql
rpm -e --nodeps 要卸载的包
# 备份配置文件后删除
mv /etc/my.cnf /etc/my.cnf.bak mv /var/lib/mysql /var/lib/mysql.bak mv /var/log/mysqld.log /var/log/mysqld.log.bak rm -rf /etc/my.cnf rm -rf /var/lib/mysql rm -rf /var/log/mysqld.log
# 卸载mariadb
rpm -qa | grep mariadb rpm -e --nodeps 要卸载的包
# 安装依赖包
yum install libaio -y yum install net-tools -y
# 安装刚刚下载的4个mysql rpm包
rpm -ivh *.rpm
# 验证版本
mysqladmin --version
# 查看数据库初始密码
grep 'temporary password' /var/log/mysqld.log
# 登录mysql
mysql -u root -p ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';# 修改密码 CREATE USER 'root'@'%' IDENTIFIED BY 'password'; #远程访问 flush privileges; # 刷新配置
# 修改my.cnf
[mysqld] #默认 port=3306 #数据目录 datadir=/var/lib/mysql #该条配置需在[client]段同时配置 socket=/var/lib/mysql/mysql.sock #多客户访问同一数据库,该选项默认开启 symbolic-links=0 #默认 log-error=/var/log/mysqld.log pid-file=/var/run/mysqld/mysqld.pid #打开时,和max_connections对比,取大数 open_files_limit=65535 #开启慢查询日志相关,默认10秒,慢查询日志路径,记录没有使用索引的sql slow_query_log=on long_query_time=10 slow_query_log_file=/var/log/mysql/slow_query.log log-queries-not-using-indexes=1 #InnoDB为独立表空间模式,每个数据库的每个表都会生成一个数据空间 default_storage_engine=InnoDB innodb_file_per_table=on #生产中要改,建议为操作系统内存的70%-80%,需重启服务生效 innodb_buffer_pool_size=1G #忽略主机名解析,提高访问速度(注意配置文件中使用主机名将不能解析) skip_name_resolve=on #忽略表单大小写 lower_case_table_names=0 #设定默认字符为utf8mb4 character-set-server=utf8mb4 #SQL_MODEL sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'
# 防火墙开放端口
firewall-cmd --permanent --add-port = 3306/tcp
# 重启mysql
systemctl restart mysqld