一、官网下载
下载地址:https://dev.mysql.com/downloads/mysql/,我的是64位,根据自己环境选择下载。
查看环境信息:
[root@minghao~]# uname -m&&uname -r
x86_64
3.10.0-693.2.2.el7.x86_64
[root@minghao~]# cat /etc/redhat-release
CentOS Linux release 7.4.1708 (Core)
官网下载会很慢,网盘地址
链接:https://pan.baidu.com/s/1jop5uY6s5wVqwOyEl-vfQg
提取码:mro7
二、安装
1.解压
[root@minghao ~]# tar -xvf mysql-8.0.11-linux-glibc2.12-x86_64.tar.gz
2.移动解压文件并且重命名
移动
[root@minghao ~]# mv /mysql-8.0.19-linux-glibc2.12-x86_64 /usr/local
改名
[root@minghao ~]# cd /usr/local
[root@minghao ~]# mv mysql-8.0.19-linux-glibc2.12-x86_64
3.创建data文件夹
在mysql根目录创建data文件夹,用于存放数据。
[root@minghao~]# cd /usr/local/mysql/
[root@minghao mysql]# mkdir data
4.创建mysql用户组,mysql用户
[root@minghao ~]#groupadd mysql
[root@minghao ~]#useradd -g mysql mysql
5.更改mysql的权限
[root@minghao ~]#chown -R mysql.mysql /usr/local/mysql/
或者
[root@minghao ~]#chown -R mysql .
[root@minghao ~]#chgrp -R mysql .
6.初始化数据库
[root@minghao ~]#/usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
7.配置
在 /usr/local/mysql/support-files 下创建 my-config.cnf ,该文件可为空。
在 /usr/local/etc 下创建my.cnf
my.cnf的内容为
[mysqld]
basedir =/usr/local/mysql
datadir = /usr/local/mysql/data
prot = 3306
socket = /tmp/mysql.sock
init_connect='SET NAMES utf8mb4'
user=mysql
8.添加系统服务
[root@minghao ~]# cp -a /usr/local/mysql8.0/support-files/mysql.server /etc/init.d/mysqld
[root@minghao ~]# chmod +x /etc/rc.d/init.d/mysqld
[root@minghao ~]# chkconfig --add mysqld
查看是否添加
[root@minghao ~]# chkconfig--list
9.配置全局环境变量
编辑 profile 文件
[root@minghao ~]# vi /etc/profile
#在 profile 文件底部添加如下两行配置,保存后退出
PATH=/data/mysql/bin:/data/mysql/lib:$PATH
export PATH
使其生效
[root@minghao ~]# source /etc/profile
复制 /usr/local/mysql/bin 下 mysql和mysqld路径,并在/usr/bin创建链接
[root@minghao ~]# ln -s /usr/local/mysql/bin/mysql /user/bin
[root@minghao ~]# ln -s /usr/local/mysql/bin/mysqld /user/bin
10.启动,停止,重启mysql服务
#启动
[root@minghao ~]# service mysqld start
#停止
[root@minghao ~]# service mysqld stop
#重启
[root@minghao ~]# service mysqld restart
三、本地链接云mysql服务
我使用的云服务器系统信息(阿里云ecs)
要想远程访问,需要在ECS的“配置规则”里添加3306端口的外网IP的访问权限。
添加好以后,navicat远程链接需要知道数据库IP,及用户名和密码。我使用的是root用户登录,接下来重置mysql的root用户密码。
Mysql8.0以上版本,不能再使用在my.cnf中添加“skip-grant-tables”命令的方法了,一下是解决办法:
- 先停止mysql服务;
- 输入“mysqld --console --skip-grant-tables”,命令行会卡住,这是正常的,不要担心;
- 打开新的命令行窗口,输入“mysql -u root”,此时,便可无密登录mysql了;
重置密码
1.#显示数据库列表
mysql>show databases;
2.#打开库
mysql>use mysql;
3.#查看用户表
mysql>select Host,User from user;
4.#更改密码
mysql>ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root';
5.#更改权限
mysql>update user set Host='%' where User='root';
5.#刷新
mysql>flush privileges;