• 安装和运行(含虚拟机)


    官方的所有版本下载页面根本找不到,最后看热心网友的文章才找到的,入口,选择的是5.7.27版本

    window安装

    从入口地址选好版本下载zip压缩包

    image.png

    配置
    解压后把bin文件夹设置成环境变量,然后在一级文件里新增一个my.ini,和新建一个data文件夹,配置内容如下

    [mysql]
    # 设置mysql客户端默认字符集
    default-character-set=utf8 
    [mysqld]
    #设置3306端口
    port = 3306 
    # 设置mysql的安装目录
    basedir=D:\mysql-5.7.27-winx64
    # 设置mysql数据库的数据的存放目录
    datadir=D:\mysql-5.7.27-winx64\data
    # 允许最大连接数
    max_connections=200
    # 服务端使用的字符集默认为8比特编码的latin1字符集
    character-set-server=utf8
    # 创建新表时将使用的默认存储引擎
    default-storage-engine=INNODB
    
    mysqld --initialize-insecure
    # 生成服务
    mysqld -install
    
    # 删除服务
    sc delete mysql
    
    # 启动
    net start mysql 
    
    # 登陆
    mysql -u root -p
    # 需要密码,默认是空,就是再按一次回车就行
    
    # 查看当前数据库,分号不能省
    show databases; 
    

    修改数据库密码

    set password for root@localhost = password('123456');
    

    image.png

    window的其他安装方法
    window还有安装包msi版本,教程在这里

    linux安装

    先查看当前云虚拟机有没有安装MariaDB和Mysql,一定要将mariaDB包和自带mysql包卸载干净,否则安装时出现各种奇妙错误,导致失败

    rpm -qa | grep -i mariadb
    rpm -e  --nodeps [文件名]
    

    卸载旧版本的Mysql

    # 查看有没有安装mysql
    rpm -qa | grep -i mysql
    # 如果有,卸载旧版本Mysql及相关依赖包
    rpm -e [文件名]
    
    # 查看服务
    chkconfig --list | grep -i mysql
    # 删除服务
    chkconfig --del mysql
    
    # 删除mysql分散的文件夹
    whereis mysql
    # 删除
    rm -rf /use/lib/mysql
    

    mysql安装

    # wget命令不是linux自带的,查看linux笔记
    wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
    yum -y install mysql57-community-release-el7-10.noarch.rpm
    yum -y install mysql-community-server
    
    # 查看状态 
    systemctl status mysqld.service
    
    # 启动服务 
    systemctl start  mysqld.service
    
    # 停止服务
    systemctl stop  mysqld.service
    
    # 重启服务
    systemctl restart  mysqld.service
    

    查看密码

    # window的mysql默认没密码
    # 但是mysql有默认密码,密码是随机的
    # 在日记里能看到 
    grep "password" /var/log/mysqld.log
    

    image.png

    登陆

    mysql –u root –p 回车
    # 输入刚才日记里的默认密码,密码是透明的看不到的
    
    # 但是默认密码是不能操作数据库的,可以用修改密码
    ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
    
    # 但是会提示密码不符合条件,因为条件太苛刻了,可以用下面三句取消密码条件限制
    set global validate_password_policy=0;
    set global validate_password_length=1;
    set global validate_password_mixed_case_count=2;
    

    本地连接linux的数据库
    需要查看mysql的服务端口,把防火墙去掉,还有服务器安全组
    如果发现还是连接不上,需要先登录然后

    Use mysql
    
    # 表示允许IP为“%”的主机(%表示所有外部主机)通过“root”帐户以“123456”为密码访问Mysql数据库。
    GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
    
    # 刷新配置
    FLUSH PRIVILEGES;  
    

    Linux的其他安装方法
    从最上面的入口网站下载bundle.rpm.tar安装包的安装办法

    image.png

    常见问题

    乱码
    在window上我们自己创建了my.ini配置文件,里面有一句配置中文utf8的配置,但是linux版本我们没有自己自己配置,是因为安装的时候自带了配置文件,但是这个配置文件没有配置utf8,所以不能显示中文

    vim /etc/my.cnf
    
    # 找到 [mysqld] 这个词,在下面加上
    character-set-server=utf8
    collation-server=utf8_general_ci
    
    # 保存
    :wq!
    
    # 重启
    systemctl restart  mysqld.service
    

    字符集编码utf8
    window和linux都适用

    # 查看mysql的字符集
    show variables where Variable_name like '%char%';
    
    # 查看某一个数据库字符集 (注:enterprises为数据库)
    show create database enterprises;  
    
    # 查看某一个数据表字符集 (注:employees为数据表)
    show create table employees;  
    

    下图是正常的状态

    image.png

    修改字符集

    # 建立连接使用的编码
    set character_set_connection=utf8;
    
    # 数据库的编码
    set character_set_database=utf8;
    
    # 结果集的编码
    set character_set_results=utf8;
    
    # 数据库服务器的编码
    set character_set_server=utf8;
    
    set character_set_system=utf8;
    
    set collation_connection=utf8;
    
    set collation_database=utf8;
    
    set collation_server=utf8;
    
  • 相关阅读:
    bjdctf_2020_router
    Windows下Apache配置https
    Linux定时备份数据库并删除N天以前的数据
    MySQL出现Waiting for table metadata lock的原因以及解决方法
    MySQL操作(五)查询实例
    Windows常用命令
    PHPSTORM常用快捷键
    MySQL操作(四)索引及优化
    MySQL操作(三)数据表
    MySQL操作(二)数据库
  • 原文地址:https://www.cnblogs.com/pengdt/p/12240627.html
Copyright © 2020-2023  润新知