Linux 下安装 MySQL8 教程

Linux下安装MySQL8

一、删除已存在的MySQL

参考教程:https://www.cnblogs.com/Can-daydayup/p/10873948.html

二、下载安装

官网:https://dev.mysql.com/downloads/repo/yum/

选择red hat版:

复制下载地址:

1.下载镜像
 
wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
 
2.安装镜像
 
rpm -ivh mysql80-community-release-el7-3.noarch.rpm
 
3.升级系统上的MySQL软件包
通过以下命令升级MySQL及其相关组件:
 
yum update mysql-server
 
 
4.安装MySQL服务
 
yum install mysql-server

如果执行失败,可能是权限不足,可以在命令之前加 sudo ,以管理员权限执行。

三、设置MySQL文件权限

chmod -R 777 /var/lib/mysql

四、初始化MySQL

mysqld --initialize

五、MySQL启动

#启动
service mysqld start;
#重启
service mysqld restart;
#查看状态
service mysqld status;

查看当前MySQL安装版本

mysqladmin --version

登录MySQL

mysql -u root -p

修改密码

#比如说,旧密码是“12345”,新密码是“qwer”,执行以下命令:
方法一:不需要进入mysql命令界面,执行如下命令
$mysqladmin -u root -p'12345' password 'qwer';

方法二:进入mysql命令界面,执行如下命令
mysql> alter user 'root'@'localhost' identified by 'qwer';

首次安装的MySQL会自己生成一个随机的密码,可通过 /var/log/mysqld.log 文件查看

cat /var/log/mysqld.log

修改密码后需要刷新权限

flush privileges;

密码一般在 mysqld.log 文件的前几行

退出MySQL

exit;
#或者
quit;

六、开启远程连接MySQL

1.需要在在登录MySQL之后,创建一个用户用来远程连接

# 其中 username 表示用户名
# % 表示表示所有的电脑都可以连接,也可以设置某个ip地址运行连接
# password 表示密码
GRANT ALL PRIVILEGES ON *.* TO 'username'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;


#如果是新版MySQL,创建用户和权限分配是分开的
创建账户:create user ‘用户名’@’访问主机’ identified by ‘密码’;

赋予权限:grant 权限列表 on 数据库 to ‘用户名’@’访问主机’ ;(修改权限时在后面加with grant option)

例如:

mysql> create user 'root'@'%' identified by 'root';
Query OK, 0 rows affected (0.02 sec)

mysql> grant ALL PRIVILEGES ON *.* to 'root'@'%';
Query OK, 0 rows affected (0.01 sec)

2.执行 flush privileges; 命令立即生效

3.查询数据库的用户(看到如下内容表示创建新用户成功了)

SELECT DISTINCT CONCAT('User: ''',user,'''@''',host,''';') AS query FROM mysql.user;

4.开放端口号

firewall-cmd --zone=public --add-port=3306/tcp --permanent   # 开放3306端口

firewall-cmd --zone=public --remove-port=3306/tcp --permanent  #关闭3306端口

firewall-cmd --reload   # 配置立即生效

大功告成

七、可能的报错

在连接的时候可能会报错:Authentication plugin 'caching_sha2_password' cannot be loaded.....

是因为 Navicat 不支持MySQL最新的加密方式

解决办法:

登录MySQL之后,修改账户密码加密规则并更新用户密码:

#修改加密规则
# 其中 username 表示用户名
# % 表示表示所有的电脑都可以连接,也可以设置某个ip地址运行连接
# password 表示密码

mysql> ALTER USER 'root'@'%' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER;
#更新一下用户的密码 
mysql> ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'password';
#刷新权限 
mysql> FLUSH PRIVILEGES;   

再次打开 Navicat 连接MySQL问题数据库就会发现可以连接成功了

posted @ 2021-05-11 10:54  乐子不痞  阅读(537)  评论(0编辑  收藏  举报
回到顶部