1.安装环境,Redhat系的Linux版本centos6.8(cat /etc/redhat-release)
下载mysql安装包:https://dev.mysql.com/downloads/mysql/
2.检查本机是否有 mysql的安装包,如果有,需要删掉
查看:rpm -qa|grep mysql
删除:rpm -e --nodeps 包名
–nodeps表示不检查依赖关系,直接删除rpm包
3.卸载系统自带的mariadb,如果有,需要删掉
查看:rpm -qa | grep mariadb
删除:rpm -e --nodeps 包名
4.查看所有的 mysql目录,并删除
查看:find / -name mysql
删除:rm -rf /etc/mysql
5.准备工作做好之后,cd /usr/local/创建mysql文件夹,把刚下载好的 mysql 安装包传输到此文件夹下
6.解压 tar -xvf mysql-8.0.19-1.el6.x86_64.rpm-bundle.tar
7.安装 common
rpm -ivh mysql-community-common-8.0.19-1.el6.x86_64.rpm --nodeps --force
8.安装 libs
rpm -ivh mysql-community-libs-8.0.19-1.el6.x86_64.rpm --nodeps --force
9.安装 client
rpm -ivh mysql-community-client-8.0.19-1.el6.x86_64.rpm --nodeps --force
10.安装 server
rpm -ivh mysql-community-server-8.0.19-1.el6.x86_64.rpm --nodeps --force
11.通过 rpm -qa | grep mysql 命令查看 mysql 的安装包
12.安装成功后,对mysql进行一些基本配置
修改配置文件my.cnf必须在mysql初始化前完成,否则会导致数据库启动失败
官方文档lower_case_table_names can only be configured when initializing the server. Changing the lower_case_table_names setting after the server is initialized is prohibited(禁止在服务初始化之后,修改大小写敏感配置)
vi /etc/my.cnf
[client]
port=3306
socket=/var/lib/mysql/mysql.sock
[mysqld]
port=3306
user=mysql
#默认加密方式
default-authentication-plugin=mysql_native_password
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
#1表示大小写不敏感,0表示大小写敏感
lower_case_table_names=1
#限制server接受的数据包大小
max_allowed_packet=20M
#开启慢查询
slow_query_log=1
#慢查询最大时间5秒
long_query_time=5
#时区
default-time_zone='+8:00'
#关闭binlog日志
skip-log-bin
#sql语法校验
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION
13.mysql 初始化
mysqld --initialize
14.改变数据文件目录的拥有者和群组
chown -R mysql:mysql /var/lib/mysql
-R 指定目录以及其子目录下的所有文件
15.启动mysql
service mysqld start
16.查看数据库的密码
cat /var/log/mysqld.log | grep password
17.登陆mysql
mysql -uroot -p
输入刚刚查到的密码
18.将root用户的密码改为root,(localhost表示本地用户)
alter user 'root'@'localhost' identified with mysql_native_password by 'root'
with mysql_native_password表示加密方式为mysql_native_password,8.0版本不同于MySQL5版本的加密方式,如果不设置为mysql_native_password,会导致可视化工具(navicat)无法链接
19.退出 mysql
exit
20.通过新密码再次登陆
mysql -uroot -proot
21.创建新用户
create user 'jack'@'%' identified by 'jack123'
创建用户及赋权限可以参考https://blog.csdn.net/qq_40977118/article/details/104380177
22.关闭防火墙
service iptables stop