下载 MySQL 所需要的安装包
Select Operating System: 选择 Red Hat ,CentOS 是基于红帽的,Select OS Version: 选择 linux 8,如下图所示。
点击 RPM Bundle
右侧的 Download 按钮,进入下载页。
右键点击下面那行小字: No thanks, just start my download.
复制链接地址。
SSH进入你的服务器,然后
1 | cd /usr/local |
也可以使用左键点击那行小字,直接下载到电脑上,然后再拖到服务器里面去,随你。
卸载原装的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 | create user 'root'@'%' identified with mysql_native_password by 'xxxxxxx'; |
其中 xxxxxxx
为远程登录密码,为了防止忘记建议和root用户密码保持一致。
记得去防火墙打开3306端口,至此授权结束,可以用工具连接试试了。
1 | firewall-cmd --zone=public --add-port=3306/tcp --permanent |
远程授权备用方法(选修)
如果上述授权方法无效,可以使用以下方法,换种方式授权。
查看当前用户及权限列表
1 | use mysql; |
更新root用户的Host字段
1 | update user set host = '%' where user = 'root' and host='localhost'; |
为root用户授权
1 | GRANT ALL ON *.* TO 'root'@'%'; |
确保root用户的 plugin
字段为 mysql_native_password
,则可以使用老的连接工具连接。