zoukankan      html  css  js  c++  java
  • mysql的安装

    一、linux下Mysql的安装

    1.安装mysql5.7.20
    1.1 解压及制作软链接
    cd /opt
    tar xf mysql-5.7.20-linux-glibc2.12-x86_64.tar.gz
    ln -s mysql-5.7.20-linux-glibc2.12-x86_64 mysql 制作软链接
    1.2 编辑环境变量
    vim /etc/profile
    添加以下一行:
    export PATH=/opt/mysql/bin:$PATH
    生效配置:
    source /etc/profile
    1.3 卸载自带mariadb
    yum remove mariadb-libs -y
    1.4 生成配置文件(/etc/my.cnf)
    /etc/my.cnf是默认的位置,现在是没有这个文件的,要手写
    vim /etc/my.cnf
    [mysqld]
    basedir=/opt/mysql
    datadir=/opt/mysql/data
    socket=/tmp/mysql.sock
    user=mysql
    log_error=/var/log/mysql.log
    log_bin=/opt/mysql/data/mysql-bin
    server_id=100
    [mysql]
    socket=/tmp/mysql.sock
    1.5 创建用户和数据目录,并授权
    useradd mysql
    mkdir /opt/mysql/data -p
    chown -R mysql.mysql /opt/mysql
    1.6 初始化数据
    touch /var/log/mysql.log
    chown -R mysql.mysql /var/log/mysql.log
    [root@python3 ~]# mysqld --initialize-insecure --basedir=/opt/mysql --datadir=/opt/mysql/data --user=mysql
    2019-01-04T03:58:03.128958Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
    2019-01-04T03:58:03.142436Z 0 [ERROR] Could not open file '/var/log/mysql.log' for error logging: Permission denied
    2019-01-04T03:58:03.142492Z 0 [ERROR] Aborting

    报错解决:
    touch /var/log/mysql.log
    chown -R mysql.mysql /var/log/mysql.log

    1.7 启动mysql
    cd /opt/mysql/support-files
    ./mysql.server start

    cp mysql.server /etc/init.d/mysqld

    /etc/init.d/mysqld restart

    扩展:使用systemctl 管理mysql
    vim /etc/systemd/system/mysqld.service
    [Unit]
    Description=MySQL Server
    Documentation=man:mysqld(8)
    Documentation=http://dev.mysql.com/doc/refman/en/using-systemd.html
    After=network.target
    After=syslog.target

    [Install]
    WantedBy=multi-user.target
    [Service]
    User=mysql
    Group=mysql
    ExecStart=/opt/mysql/bin/mysqld --defaults-file=/etc/my.cnf
    LimitNOFILE = 5000

    然后加入系统管理
    systemctl restart mysqld
    netstat -tulnp |grep 3306

    二、Windows下mysql的安装

    1.解压,放在d盘,在目录文件D:mysql-5.7.23-winx64下创建一个data目录
    2.在cmd窗口下执行该命令D:mysql-5.7.23-winx64inmysqld --initialize-insecure
    初始化mysql
    3.启动服务端D:mysql-5.7.23-winx64inmysqld
    启动客户端D:mysql-5.7.23-winx64inmysql
    4.配置环境变量
    5.自动启动mysqld服务
    要用管理员权限打开cmd
    mysqld --install 添加到win10自动启动服务
    mysqld --remove 删除自动服务里的mysqld
    指定配置文件添加到服务
    mysqld --install MySQL --defaults-file="D:mysql-5.7.23-winx64my.ini"
    6.设置
    解压后,如果目录下没有data目录,就创建一个。
    win10的配置文件,可以创建一个my.ini的配置文件
    里面写上
    [mysqld]
    sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
    character-set-server=utf8
    collation-server=utf8_general_ci
    [client]
    default-character-set=utf8
    [mysql]
    default-character-set=utf8

    这是设置字符编码的。另外sql_mode也把only_full_group_by这个设置去掉了,only_full_group_by会导致
    不能直接查询group_by包裹之外的字段。

    三、Mysql8.0在Windows下的安装

    1.解压,放在d盘,在目录文件E: uanjian2mysql-8.0.17-winx64下创建一个data目录
    2.在cmd窗口下执行该命令E: uanjian2mysql-8.0.17-winx64mysqld --initialize-insecure
    初始化mysql
    3.启动服务端E: uanjian2mysql-8.0.17-winx64mysqld
    启动客户端E: uanjian2mysql-8.0.17-winx64mysql
    4.配置环境变量
    5.自动启动mysqld服务
    要用管理员权限打开cmd
    mysqld --install 添加到win10自动启动服务
    mysqld --remove 删除自动服务里的mysqld
    指定配置文件添加到服务
    mysqld --install MySQL8.0 --defaults-file="E: uanjian2mysql-8.0.17-winx64my.ini"
    6.设置
    解压后,如果目录下没有data目录,就创建一个。
    win10的配置文件,可以创建一个my.ini的配置文件
    里面写上

    [mysqld]
    # 设置3307端口
    port=3307
    #绑定ip,让其他ip可以访问
    bind-address=0.0.0.0
    # 设置mysql的安装目录
    basedir=E:\ruanjian2\mysql-8.0.17-winx64   # 切记此处一定要用双斜杠\,单斜杠我这里会出错。
    # 设置mysql数据库的数据的存放目录
    datadir=E:\ruanjian2\mysql-8.0.17-winx64\data   # 此处同上
    # 允许最大连接数
    max_connections=1000
    # 允许连接失败的次数。这是为了防止有人从该主机试图攻击数据库系统
    max_connect_errors=10
    # 服务端使用的字符集默认为UTF8
    character-set-server=utf8mb4
    # 创建新表时将使用的默认存储引擎
    default-storage-engine=INNODB
    # 默认使用“mysql_native_password”插件认证
    default_authentication_plugin=mysql_native_password
    [mysql]
    # 设置mysql客户端默认字符集
    default-character-set=utf8mb4
    [client]
    # 设置mysql客户端连接服务端时默认使用的端口
    port=3307
    default-character-set=utf8mb4

    7.mysql 8.0 修改了加密的插件方式,导致很多旧版本的navicat无法正常访问。为了方便访问,创建一个原来加密方式的账号。
    ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root';
    SET PASSWORD FOR 'root'@'localhost' = PASSWORD('newpassword');
    8.mysql设置局域网访问
    查询
    select user,host from user;
    直接在mysql命令中修改
    mysql -u root -p
    use mysql
    update user set host = '192.168.1.%' where user = 'root';
    flush privileges;
    修改后在局域网即可连接
    执行了步骤8,可以不执行步骤7

  • 相关阅读:
    web在线智能四则运算挑战赛
    超简单的实现wordcount
    构建之法现代软件工程自我介绍
    通过WMI获取机器信息
    ManagementObjectSearcher Path
    开启FIPS协议
    Windows Server 2012开启多人远程
    开发企业应用系统需要掌握的知识技能
    Win7系统下彻底删除无用服务的方法
    C#基础(二)之数据类型
  • 原文地址:https://www.cnblogs.com/xufengnian/p/11866348.html
Copyright © 2011-2022 走看看