为什么要使用bundle包安装呢?
因为bundle包下载下来后,就可以不需要联网直接进行安装,里面包含的组件最全,但是一般自己使用基本只需要其中的四个包即可,具体见下面步骤。
安装环境:Linux rehel6 64位
MySQL8.x安装包: mysql-libs-5.1.73-7.el6.x86_64
安装步骤:
1. 检查是否含有之前的mysql包,若有,则删除。
rpm -qa|grep -i mysql
如果执行删除命令时报错:需要依赖postfix包,执行如下命令即可删除:
rpm -ev mysql-libs-5.1.73-7.el6.x86_64 --nodeps
注:--nodeps:不检查依赖关系
2. 安装MySQL 8.0(Root权限)
2.1 解压安装包
tar xvf mysql-8.0.15-1.el6.x86_64.rpm-bundle.tar
2.2 安装时需要按照以下顺序进行安装rpm包,因为它们之间存在依赖关系
rpm -ivh mysql-community-common-8.0.15-1.el6.x86_64.rpm
rpm -ivh mysql-community-libs-8.0.15-1.el6.x86_64.rpm
rpm -ivh mysql-community-client-8.0.15-1.el6.x86_64.rpm
rpm -ivh mysql-community-server-8.0.15-1.el6.x86_64.rpm
3. 启动服务
3.1 查看mysql是否启动
service mysqld status
3.2 启动mysql
service mysqld start
3.3 停止mysql
service mysqld stop
4. 启动服务后,设置mysql的root用户密码
4.1 mysql安装完成之后我们是没有设置密码的,但是mysql为我们设置了一个临时的密码,我们可以查看mysql的日志知道这个临时密码。
grep password /var/log/mysqld.log
4.2 登录mysql,输入4.1步骤从日志中获取的密码
mysql -uroot -p
4.3 设置新密码
> ALTER user 'root'@'localhost' IDENTIFIED BY '123456';
4.4 退出当前登录
> quit;
5. 增加远程访问IP地址权限,以便使用Navicat进行配置连接
5.1 登录mysql,并切换至mysql库
mysql -uroot -p
> use mysql
5.2 更新域属性
> update user set host='%' where user ='root';
注:'%'表示允许外部任意IP访问
5.3 刷新MySQL的系统权限
> FLUSH PRIVILEGES;
将当前user和privilige表中的用户信息/权限设置从mysql库(MySQL数据库的内置库)中提取到内存里。
5.4 查看用户信息。
> select host,user,plugin from user;
5.5 查询root用户的权限
> SHOW GRANTS FOR root;
5.6 遇到的问题1:本地连接虚拟机中Oracle失败。
原因之一:防火墙没有设置白名单。本地telnet虚拟机Oracle地址不通,是防火墙没有关闭 3306 端口,可使用如下命令将 3306 端口设置为白名单(一定要将命令写在reject之前,不然会不起作用的。):
sudo vi /etc/sysconfig/iptables
-A INPUT -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT
sudo service iptables restart
sudo service iptables save
sudo iptables -L -n
5.7 遇到的问题2:Windows下的Navicat连接MySQL数据库报错。
原因之一:MySQL 8.0的密码加密方式变了。MySQL 8.0用的密码加密方式默认是caching_sha2_password,之前的密码加密方式是 mysql_native_password ,而Navicat12之前的版本支持mysql_native_password密码加密方式,所以需要修改用户的密码加密方式,使用如下命令:
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
6. 卸载MySQL数据库
rpm -qa|grep -i mysql
rpm -ev mysql-community-server-8.0.15-1.el6.x86_64
rpm -ev mysql-community-client-8.0.15-1.el6.x86_64
rpm -ev mysql-community-libs-8.0.15-1.el6.x86_64
rpm -ev mysql-community-common-8.0.15-1.el6.x86_64
7. 其他命令
service mysqld restart //重启mysql
select user(); // 查看当前用户
select version(); // 查看mysql版本
select database(); // 查看当前所在的库
user mysql; // 切换至mysql库
CREATE USER daydayup IDENTIFIED BY 'pass123';// 为mysql库创建用户: daydayup 密码为: pass123