官网下载压缩包
下拉选择自己系统对应的版本,可用getconf LONG_BIT命令查看版本位数
下载在自己桌面上传至LINUX或者得到链接直接在服务器wegt均可。
wget https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-8.0.15-linux-glibc2.12-x86_64.tar
进行解压
tar -xvf mysql-8.0.15-linux-glibc2.12-x86_64.tar.xz
解压完成后移动解压文件到usr/local 并且重命名mysql8.0
mv /mysql-8.0.15-linux-glibc2.12-x86_64 /usr/local/mysql8.0
在mysql8.0下创建dada文件存放数据
初始化数据库
./bin/mysqld --user=mysql --basedir=/usr/local/mysql8.0 --datadir=/usr/local/mysql8.0/data --initialize(网上有些是 ./bin/mysqld --initialize,视情况而定)
mysql配置
在mysql8.0/support-files目录下新建文件my-config.cnf
touch my-config.cnf
复制配置文件到/etc/my.cnf
cp -a /usr/local/mysql8.0/support-files/my-config.cnf /etc/my.cnf
修改my.cnf文件
vi my.cnf
basedir = /usr/local/mysql8.0
datadir = /usr/local/mysql8.0/data
prot = 3306
socket = /tmp/mysql.sock
character-set-srever=utf8(这一行会引发问题,应该是8的配置不同)
引发的错误,解决了很久。(The server quit without updating PID file /usr/local/mysql/data/localhost.localdomain.pid )
init_connect='SET NAMES utf8mb4'
建立服务
cp -a /usr/local/mysql8.0/support-files/mysql.server /etc/init.d/mysqld
添加系统服务
cp -a /usr/local/mysql8.0/support-files/mysql.server /etc/init.d/mysqld
chmod +x /etc/rc.d/init.d/mysqld
chkconfig --add mysqld
可以查看一下是否添加
chkconfig--list
配置全局环境变量
编辑 / etc/profile 文件
# vi /etc/profile
在 profile 文件底部添加如下两行配置,保存后退出
PATH=/data/mysql/bin:/data/mysql/lib:$PATH
export PATH
设置环境变量立即生效
source /etc/profile
启动MySQL服务
service mysqld start(如若不成功报错:The server quit without updating PID file /usr/local/mysql/data/localhost.localdomain.pid 则要看一下my.cnf文件是否配置正确,随笔中附有mysql8.0 MY.CNF的相关配置。这个报错的原因有很多种,我遇到的错误则是my.cnf。测试的办法就是删除了my.cnf文件再去启动 若成功则是my.cnf的问题。如若不成功检查一下 数据写入文件data的权限,赋给mysql。原因较多不能定位的话在网上自行百度一下逐个排查)
这时候root登录mysql,发现无法登录 因为我们并没有密码。所以对root用户进行密码的重新设置有以下几步
修改my.cnf文件,免验证登录
从/etc/my.cnf 配置文件中加入skip-grant-table后正常登录
重启mysql服务后进行root登录,发现不需要密码即可登录
修改root密码,不上图了 直接上指令
mysql -uroot
use mysql
flush privileges;
ALTER user 'root'@'localhost' IDENTIFIED BY 'yourpassword';
执行成功后,输入exit, 退出msql,输入vim /etc/my.cnf 删除 skip-grant-tables,重启mysql 服务便可以你的新密码登录了
修改过后开启远程登录,这个就先用%。具体限制查询mysql相关资料
use mysql
1.update user set host='%' where user='root' limit 1(两种方法都可以,选一个)
2.grant all privileges on.to ‘root’@’%’ identified by ‘你的连接密码’ with grant option;
flush privileges;
修改过后便可以用外部工具连接了,这里有一点注意的是防火墙问题,按照对应的系统去开放3306端口,如若不开放回会出现10060的错误码(主要是防火墙问题)
如若按步骤安装下来出现密码错误问题可以尝试下下面得有语句
ALTERUSER'root'@'localhost'IDENTIFIEDBY'yourpassword'PASSWORD EXPIRE NEVER;(localhost根据你表内自己更改的改变可为ip地址、%等)
如若遇到其他问题,请留言互相讨论
感谢