当前位置 主页 > 服务器问题 > win服务器问题汇总 >

    Centos安装MYSQL8.X的教程

    栏目:win服务器问题汇总 时间:2019-10-24 09:24

    MySQL的安装 (4,5,6可省略)

    声明:CentOS版本为7.6,安装的MySQL版本为8.0.17

    1. 首先要卸载掉本机自带的mysql相关,包括MariaDB。

    rpm -pa | grep mysql #将搜到的结果使用`rm -rf 文件名` 删除掉,没有就跳过
    rpm -pa | grep mariadb #将搜到的结果使用`rm -rf 文件名` 删除掉,没有就跳过
    find / -name mysql #查找并删除相关文件夹,没有就跳过(同上)
    find / -name mariadb #查找并删除相关文件夹,没有就跳过(同上)

    2. 备份centOS的默认repo源,下载阿里云或者网易的repo源替换默认源。

    mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
    
    cd /etc/yum.repos.d/
    wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

    3. 清理yum,创建yum缓存。

    sudo yum clean all
    sudo yum makecache

    4. 查看软件源仓库中mysql相关内容

    yum repolist | grep mysql

    5. 查看对应版本的mysql是否启用

    cat /etc/yum.repos.d/mysql-community

    6. 将需要安装的版本设置为启用状态(我这里安装的是mysql社区版8.0版本)

    yum-config-manager --enable mysql80-comminity

    7. 执行安装

    yum install mysql-community-server.x86_64

    8. 查看mysql运行状态,刚安装默认为未启动状态

    # 查看MySQL服务运行状态,active表示已启动,inactive表示未启动,failed表示启动失败
    systemctl status mysqld.service
    # 启动MySQL服务
    systemctl start mysqld.service
    # 停止MySQL服务
    systemctl stop mysqld.service
    # 重新启动MySQL服务
    systemctl restart mysqld.service

    9. 查看初始密码

    刚安装的新版本mysql会自动生成一个临时密码,保存在`/etc/log/mysqld.log`

    cat /var/log/mysqld.log | grep "password"

    10.使用初始密码登录

    复制上一步的密码,输入`mysql -uroot -p密码`,或者先不输入密码按回车,在提示地方粘贴密码(密码不显示,粘贴一次就行了)。

    11. 修改初始密码

    show databases;
    use mysql;
    # 如将密码改成 NewPassword! ,为了安全尽量包含大小写字母数字加符号
    alter 'user'@'localhost' identified by 'NewPassword!'; 

    12. 修改访问权限,使其能远程连接

    update user set Host='%' where User='root' and Host='localhost';

    13. 刷新权限

    flush privileges;

    14. 新建用户

    create user 用户名 identified by '密码'; 
    # 比如创建用户同时指定可以访问的主机,以及指定其可以访问的数据库表和对应的权限
    create user 用户名@'主机名' identified by '密码';
    grant select, update, create, delete on 数据库名.表名 to 用户名;

    15. 赋予权限,记得刷新权限才会生效

    grant select on 数据库名.表名 to 用户; # 所有权限可以使用 all

    flush privileges;

    MySQL备份

    备份:数据表结构+数据

    mysqdump -u root db1 > db1.sql -p;

    备份:数据表结构

    mysqdump -u root -d db1 > db1.sql -p;

    导入现有的数据到某个数据库

    先创建一个新的数据库

    create database db10;

    将已有的数据库文件导入到db10数据库中