Centos7 安装mysql8.0(rpm方式安装)

44 篇文章 0 订阅
3 篇文章 0 订阅

1.卸载老版本

# 查看当前安装mysql情况
rpm -qa|grep -i mysql

# 删除旧版
rpm -ev mysql-community-server-8.0.12-1.el6.x86_64   

# 删除提示依赖包错误,用此命令
rpm -ev mysql-community-server-8.0.12-1.el6.x86_64 --nodeps

# 提示错误:error: %preun(xxxxxx) scriptlet failed, exit status 1
rpm -e --noscripts rpm -ev mysql-community-server-8.0.12-1.el6.x86_64

# 查找之前老版本mysql的目录、并且删除老版本mysql的文件和库
find / -name mysql

2.安装和启动

# 1.下载软件包
wget https://repo.mysql.com//mysql80-community-release-el7-3.noarch.rpm

# 2.使用yum在线安装
rpm -ivh mysql80-community-release-el7-3.noarch.rpm
yum install mysql-server

rpm -Uvh mysql80-community-release*rpm   # 后边加上 --nodeps  --force 可以覆盖安装
yum --enablerepo=mysql80-community install mysql80-community-release
 ## 安装过程中会需要提示下载依赖,按y确认下载即可:

# 3.初始化MySQL:
mysqld --initialize

# 4.启动MySQL:
service mysqld start   ## RedHat6 下启动命令
systemctl start mysqld.service   ## RedHat7 下启动命令

# 5.查看mysql状态
service mysqld status  ## Centos 6 下查看mysql状态
systemctl status mysqld.service  ## Centos 7 下查看mysql状态

# 6.验证:
mysqladmin --version
## 执行上述命令后显示如下信息:
## mysqladmin  Ver 8.0.18 for Linux on x86_64 (MySQL Community Server - GPL)

3.设置开机启动

systemctl enable mysqld
systemctl daemon-reload

4.修改初始密码

# MySQL 8.0 调整密码验证规则:
mysql> set global validate_password.policy=0;
mysql> set global validate_password.length=1;
# MySQL 5.7 调整密码验证规则:
mysql> set global validate_password_policy=0;
mysql> set global validate_password_length=1;
# MySQL5.7 和 MySQL8.0 密码验证插件种变量名不一样。(_password_policy 和 _password.policy )
# 用命令查看 validate_password 密码验证插件是否安装。
mysql> SHOW VARIABLES LIKE 'validate_password%';

方式一:

1)刚刚启动成功之后, 用命令查看默认密码并且登录
查看:grep 'temporary password' /var/log/mysqld.log
登陆:mysql -u root -p # 然后输入密码

2)修改密码

set global validate_password.policy=0;
set global validate_password.length=1;
ALTER USER "root"@"localhost" IDENTIFIED  BY "1234";  ## 新密码为1234

3) exit 退出

方式二:

# 1.停止mysql
systemctl stop mysqld.service
# 2.编辑配置文件
vi /etc/my.cnf
## 尾部加上:
skip-grant-tables

3.重启mysql服务,修改密码(密码置空)
[root@localhost ~]# systemctl start mysqld.service
[root@localhost ~]# mysql -u root -p
Enter password: ##直接回车
mysql> use mysql;                                                      ## 进入mysql表
mysql> update user set authentication_string='' where user='root';     ## 将密码设置为空(必须在mysql库设置)
mysql> exit

[root@localhost ~]# vi /etc/my.cnf                ## 尾部去掉 skip-grant-tables
[root@localhost ~]# systemctl restart mysqld      ## 重启mysql
[root@localhost ~]# mysql -u root -p
Enter password: ##直接回车
mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密码'; 
mysql> flush privileges;    ##刷新权限     
mysql> exit   ## mysql -u root -p    然后输入新密码即可登录

5.授权远程访问

-- 创建所有用户都可以访问的用户规则,在mysql8.0中 授权语句已经更换,使用之前的sql语句授权会报错;
create user 'root'@'%' identified WITH mysql_native_password by 'Root@123'; 
-- 对这个用户规则进行授权
grant all privileges on *.* to 'root'@'%'; 
flush privileges; -- 刷新权限

6.mysql常用配置

# 配置默认编码为utf8
# 修改/etc/my.cnf配置文件,在[mysqld]下添加编码配置,如下所示:
[mysqld]
character_set_server=utf8
init_connect='SET NAMES utf8'
mysql -u root -p ##登陆
use mysql;
show databases; 
show tables;

-- 查看用户是否允许远程登录 localhost 仅本地  % 可以远程登录
select host,user,authentication_string,plugin from user; \G; -- \G表示格式化显示 
   
-- 修改root用户可远程登录. 
update user set host= '%' where user = 'root';

-- 修改密码
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
ALTER USER 'root'@'%' IDENTIFIED  BY '123456';

-- 修改为旧的密码认证方式.
use mysql;
alter USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
flush privileges; #刷新权限

-- 修改加密规则  mysql5.7.6之后就修改了加密规则,所以需要更改加密方式。
update user set plugin='mysql_native_password' where user ='root';

-- 创建所有用户都可以访问的用户规则,在mysql8.0中 授权语句已经更换,使用之前的sql语句授权会报错;
create user 'root'@'%' identified WITH mysql_native_password by '123456'; 

-- 对这个用户规则进行授权
grant all privileges on *.* to 'root'@'%'; 

--刷新权限
flush privileges; 

7.重要目录(默认安装目录)

/etc/my.cnf                   # 配置文件
/var/lib/mysql                #数据库目录
/usr/share/mysql              # 配置文件目录
/usr/bin                      #相关命令目录
/var/log/mysqld.log # log-error     # 日志文件
/var/run/mysqld/mysqld.pid          # pid-file
/etc/init.d/mysql                   #启动脚本

8.常用命令

## 查看安装及存储目录
find / -name mysql -print

# 查看运行进程
ps -ef | grep mysqld
# 查看端口
netstat -tulpn |grep mysqld

## 服务操作
systemctl start mysqld    # 启动服务
systemctl stop  mysqld    # 停止服务
systemctl restart mysqld  # 重启服务
systemctl enable mysqld    # 加入开机启动
systemctl disable  mysqld  # 加入开机禁用
systemctl status mysqld    # 查看状态

# 查看httpd的开机启动状态列表
systemctl list-unit-files;


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值