由于最近业务需要,不得不将之前的mysql5.7.26升级到mysql8.0加了
Linux安装mysql(5.7.26):https://blog.csdn.net/weixin_45853881/article/details/128845435
下载地址:https://downloads.mysql.com/archives/community/
我这次下载的是8.0.30(emmmm,原因是因为洁癖这个看着顺眼,就这个了)
注意这里的文件后缀名是tar.xz
whereis mysql
rm -rf /usr/local/mysql/
创建文件夹
mkdir /usr/local/mysql
进入文件夹
cd /usr/local/mysql
自己上传文件,或者使用wget命令下载
wget https://cdn.mysql.com/archives/mysql-8.0/mysql-8.0.30-linux-glibc2.12-x86_64.tar.xz
解压
tar -xvf mysql-8.0.30-linux-glibc2.12-x86_64.tar.xz
文件重命名
mv mysql-8.0.30-linux-glibc2.12-x86_64/ mysql-8.0.30
mkdir /usr/local/mysql/mysql-8.0.30/data
授予权限
chown mysql:mysql -R /usr/local/mysql/mysql-8.0.30/data
修改/etc/my.cnf配置文件,没有得到话就创建,之前我写过所以修改就行
vi /etc/my.cnf
[mysqld]
port = 3306
user=mysql
basedir=/usr/local/mysql/mysql-8.0.30/
datadir=/usr/local/mysql/mysql-8.0.30/data
socket=/tmp/mysql.sock
symbolic-links=0
[mysqld_safe]
log-error=/usr/local/mysql/mysql-8.0.30/data/mysql.log
pid-file=/usr/local/mysql/mysql-8.0.30/data/mysql.pid
[client]
port=3306
default-character-set=utf8
进入文件目录
cd /usr/local/mysql/mysql-8.0.30/bin
执行命令,然后会有一个默认密码,有的人这里会报错是因为没有安装libaio,这里就先安装一遍(上一篇我安装完了就不安装了)
yum install libaio -y
输入下面的命令,会出现临时密码复制一下,一会登录要使用,例如:p_p-yR;iF1ek
./mysqld --defaults-file=/etc/my.cnf --user=mysql --initialize
cp /usr/local/mysql/mysql-8.0.30/support-files/mysql.server /etc/init.d/mysql
启动
service mysql start
注意啦:启动这里会报错,如下两种情况
1)
Starting MySQL.Logging to ‘/usr/local/mysql/mysql-8.0.30/data/mysql.log’.
… ERROR! The server quit without updating PID file (/usr/local/mysql/mysql-8.0.30/data/admin.pid).
2)
Starting MySQL… ERROR! The server quit without updating PID file (/usr/local/mysql/mysql-8.0.30/data/admin.pid).
这里先使用ps
命令查出mysql进程并且关闭
ps -ef|grep mysql
查看文件全权限,可以看到
mysql
用户的data
文件夹没有写
权限
cd /usr/local/mysql/mysql-8.0.30
ll
赋予权限
chmod 775 /usr/local/mysql/mysql-8.0.30/data
然后重新启动(启动之前记得ps查找进程然后关闭)
ps -ef|grep mysql
然后使用,
kill -9 pid
,这里的pid是进程号
cd /usr/local/mysql/mysql-8.0.30/bin/
service mysql start
登录,输入刚才的临时密码就可以了(直接复制粘贴)
./mysql -u root -p
修改密码,我设置的密码是root,在最后面,根据自己需要进行设置
alter user 'root'@'localhost' identified with mysql_native_password BY 'root';
刷新,使操作生效
flush privileges;
更改数据库连接权限
use mysql;
update user set host='%' where user = 'root';
flush privileges;
退出
exit
然后防火墙什么其他设置的可以按照上一篇来弄,其实都差不多。