萝卜小站

要做所有萝卜中最胡的一条

0%

CentOS8安装MySql8.0教程

下载 MySQL 所需要的安装包

官网下载地址

Select Operating System: 选择 Red Hat ,CentOS 是基于红帽的,Select OS Version: 选择 linux 8,如下图所示。

点击 RPM Bundle 右侧的 Download 按钮,进入下载页。

右键点击下面那行小字: No thanks, just start my download. 复制链接地址。

SSH进入你的服务器,然后

1
2
3
4
cd /usr/local
mkdir mysql
cd ./mysql
wget https://dev.mysql.co...pm-bundle.tar # 此处为在官网复制的地址

也可以使用左键点击那行小字,直接下载到电脑上,然后再拖到服务器里面去,随你。

卸载原装的mariadb

首先查看本机是否安装了mariadb

1
rpm -qa | grep mariadb

如果没有任何返回,证明没安装mariadb,可以跳过此步骤。

如果返回了 mariadb-libs-5.5.56-2.el7.x86_64 之类的,表示安装了,则需要先卸载。

1
rpm -e mariadb-libs-5.5.56-2.el7.x86_64 --nodeps

卸载后记得再次查看本机是否安装mariadb,直至没有任何返回值。

安装Mysql

解压安装包
1
tar -xvf mysql-8.0.11-1.el7.x86_64.rpm-bundle.tar

具体文件名自行更改,别直接复制,如无特别说明,本文后面全都是如此

如果没有tar则需要先安装tar:yum -y install tar

然后通过 clear 命令清一下屏 (必要)

安装common模块
1
rpm -ivh mysql-community-common-8.0.11-1.el7.x86_64.rpm --nodeps --force
安装libs模块
1
rpm -ivh mysql-community-libs-8.0.11-1.el7.x86_64.rpm --nodeps --force
安装client模块
1
rpm -ivh mysql-community-client-8.0.11-1.el7.x86_64.rpm --nodeps --force
安装server模块
1
rpm -ivh mysql-community-server-8.0.11-1.el7.x86_64.rpm --nodeps --force

至此模块安装完成

查看安装结果
1
rpm -qa | grep mysql

数据库初始化

1
mysqld --initialize;

如果报错 error while loading shared libraries: libaio.so.1

则安装libaio:yum install -y libaio

1
chown mysql:mysql /var/lib/mysql -R;
1
systemctl start mysqld.service;
1
systemctl enable mysqld;
查看数据库的密码
1
cat /var/log/mysqld.log | grep password

...password is generated for root@localhost: xxxxxx

冒号后面的是密码,复制粘贴记一下。

登录数据库

1
mysql -u root -p

粘贴刚才的密码就行,此处粘贴是不会显示密码的。

修改密码

此处用 xxxxx 代替你的密码

1
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'xxxxx';

通过 exit; 命令退出 MySQL,然后通过新密码再次登录。

远程访问的授权

1
2
3
create user 'root'@'%' identified with mysql_native_password by 'xxxxxxx';
grant all privileges on *.* to 'root'@'%' with grant option;
flush privileges;

其中 xxxxxxx 为远程登录密码,为了防止忘记建议和root用户密码保持一致。

记得去防火墙打开3306端口,至此授权结束,可以用工具连接试试了。

1
2
firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --reload

远程授权备用方法(选修)

如果上述授权方法无效,可以使用以下方法,换种方式授权。

查看当前用户及权限列表
1
2
use mysql;
select User,Host from user;
更新root用户的Host字段
1
2
update user set host = '%' where user = 'root' and host='localhost';
select User,Host from user;
为root用户授权
1
2
3
GRANT ALL ON *.* TO 'root'@'%';
flush privileges;
select host,user,plugin from user;

确保root用户的 plugin 字段为 mysql_native_password ,则可以使用老的连接工具连接。

参考资料

CentOS7安装MySQL8.0图文教程

mysql 8 设置允许远程连接

解决远程连接MySQL失败报错的问题