先卸载之前的mysql
1、yum remove mysql mysql-server mysql-libs compat-mysql51

2、rm -rf /var/lib/mysql

3、rm /etc/my.cnf
二、判断是否已经卸载干净
1、 rpm -qa | grep mysql
2、 卸载干净: 若执行命令后,什么反应都没,则表示已经卸载干净。
3、 未卸载干净: 继续执行 yum remove xxx

三、rpm 方式安装
1、查看系统中是否以rpm包安装的mysql: 如:
[[email protected] opt]# rpm -qa | grep -i mysql
MySQL-server-5.6.17-1.el6.i686
MySQL-client-5.6.17-1.el6.i686
2、卸载mysql
3、 [[email protected] opt]# rpm -qa | grep -i mysql
4、 MySQL-server-5.6.17-1.el6.i686
5、 MySQL-client-5.6.17-1.el6.i686
删除mysql服务
[[email protected] opt]# rpm -qa | grep -i mysql
MySQL-server-5.6.17-1.el6.i686
MySQL-client-5.6.17-1.el6.i686
删除分散mysql文件夹
whereis mysql 或者 find / -name mysql
mysql 路径: /usr/lib/mysql /usr/share/mysql
6、清空相关mysql的所有目录以及文件
rm -rf /usr/lib/mysql
rm -rf /usr/share/mysql
rm -rf /usr/my.cnf

开始安装准备
1、添加包
#CentOS 7cd /home/downloads
wget https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm
sudo rpm -ivh mysql80-community-release-el7-1.noarch.rpm
#CentOS 6cd /home/downloads
wget https://dev.mysql.com/get/mysql80-community-release-el6-1.noarch.rpm
sudo rpm -ivh mysql80-community-release-el6-1.noarch.rpm
2、安装
#安装
sudo yum install -y mysql-community-server
#启动服务
sudo systemctl start mysqld
#查看版本信息
mysql -V

修改密码:
1://免密码登陆

找到mysql配置文件:my.cnf,

在【mysqld】模块添加:skip-grant-tables 保存退出;

2://使配置生效

重启mysql服务: service mysqld restart;

3://将旧密码置空

mysql -u root -p //提示输入密码时直接敲回车。

//选择数据库

use mysql

//将密码置空

update user set authentication_string = ‘’ where user = ‘root’;

//退出

quit

4://去除免密码登陆

删掉步骤1的语句 skip-grant-tables

重启服务 service mysqld restart

5://修改密码

mysql -u root -p //提示输入密码时直接敲回车,刚刚已经将密码置空了(
为避免执行以下指令报错“”“”
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.“”“”
进入之后可以直接先修改密码:
ALTER USER ‘root’@‘localhost’ IDENTIFIED BY ‘rootYuan123#’
其中 ‘root’@‘localhost’ 直接root 表示用户名,localhost 表示ip为本地
)

--------------------- 先进入到mysql数据库中
mysql> use mysql;
查看用户表(如果存在’root’@’%'存表示存在root账号名且可以为任何ip地址的用户)
select host,user from user;
centos7 安装mysql8详细教程

创建root 远程用户(如果存在远程用户就不需要创建)
create user ‘root’@’%’ identified BY ‘rootYuan123#’;
允许远程登录用户拥有所有权限
mysql> GRANT ALL ON . TO ‘root’@’%’;
Query OK, 0 rows affected (0.04 sec)
centos7 安装mysql8详细教程
mysql> ALTER USER ‘root’@’%’ IDENTIFIED WITH mysql_native_password BY ‘root_passwd’;

#修改密码
ALTER USER ‘root’@‘localhost’ IDENTIFIED BY ‘rootYuan123#’
#修改远程密码
ALTER USER ‘root’@’%’ IDENTIFIED WITH mysql_native_password BY ‘rootYuan123#’;
#使配置生效
flush privileges;

注:如果上面能够远程连接成功,就代表已经配置成功了,下面是方便字节理解从其他地方copy过来的。
** 创建用户和分配权限**
由于mysql8新提供了一种密码加密方式caching-sha2-password,且为默认,目前很多客户端都不支持,所以我们在创建新角色用户的时候可以指定其为mysql_native_password,原来的root账户等不去做任何改变(无形之中增加了安全性有木有)

#创建一个test用户(一般情况下root用户只在本地环境下使用),密码是Test123#,mysql8数据库的密码的复杂度有一定的要求。
CREATE USER ‘test’@’%’ IDENTIFIED WITH mysql_native_password BY ‘Test123#’;

#授权数据库给用户,并设置所有ip都可以远程连接
#如果只授予用户某些数据库的话就把*.改成 数据库名称. 意思就是 数据库.表
#如果只授予用户某些权限的话,比如只能读不能写,就把GRANT ALL改成GRANT SELECT
GRANT ALL ON . TO ‘test’@’%’;

#当然,你也可以撤销授权,用法和授权几乎都是一样的。
REVOKE ALL ON . from ‘test’@’%’;

最后使设置立即生效
flush privileges

相关文章: