1、安装前工作
在安装前需要确定现在这个系统有没有 mysql,如果有那么必须卸载 (在 centos7 自带的是 mariaDb 数据库,所以第一步是卸载数据库)。
#查看mariadb数据库:rpm -qa | grep mariadb
#卸载mariadb数据库:rpm -e --nodeps mariadb文件名
#查看 mysql 数据库:rpm -qa | grep -i mysql
#卸载 mysql 数据库:rpm -e mysql文件名 # 如果有关联文件,不能直接卸载。可以用一下命令强制卸载:rpm -e --nodeps mysql文件名)
#删除etc目录下的my.cnf文件:rm /etc/my.cnf
2、官网下载
下载成功之后,上传到云服务(我是上传到/usr/src目录下)
3、解压到local下面,并且重新命名为mysql
解压命令:tar -xvf mysql-8.0.13-linux-glibc2.12-x86_64.tar.xz -C /usr/local/
重命名命令:mv mysql-8.0.13-linux-glibc2.12-x86_64/ mysql
4、添加mysql用户组和用户
#首先检查mysql用户和组是否存在
cat /etc/group | grep mysql
cat /etc/passwd | grep mysql
#添加mysql用户和组
groupadd mysql
useradd -r -g mysql mysql
5、初始化mysql配置表
# chown -R mysql:mysql ./ 修改当前目录为mysql用户
# ./bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data 初始化数据库
# 如果出现如图所示错误,则说明这是缺少numactl,这个时候如果是Centos就yum -y install numactl就可以解决,然后重新运行上面的initialize命令
# 注意下图中initialize成功,会出现一个随机密码
#修改当前用户为root用户 chown -R root:root ./
#修改当前的data目录为mysql用户 chown -R mysql:mysql data/
#复制配置文件(如果没有my-default.cnf就手动创建一个文件,并且配置权限)
#修改/etc/my.cnf配置文件
[mysqld]
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
port=3306
socket=/usr/local/mysql/tmp/mysql.sock
# 必填项
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
6、加入开机启动项
#copy
#增加执行权限
#注册启动服务
#查看是否添加成功
#启动服务
7、配置环境变量
# vi /etc/profile
# export PATH=$PATH:/usr/local/mysql/bin:/usr/local/mysql/lib
# 保存退出之后 执行source /etc/profile让文件生效
8、登录并修改初始密码
# 建立软链接 ln -s /usr/local/mysql/tmp/mysql.sock /tmp/mysql.sock
# 登录mysql,修改密码 alter user 'root'@'localhost' identified by '123456';
# 查询user和host,并将host改成‘%’
# update user set host = '%' where user = 'root';
# flush privileges;
# 授权用户:任意主机以用户root和密码mypwd连接到mysql服务器
# 经过以上步骤如果还连不上,可以试试以下方式,重置以下密码
# ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';