zoukankan      html  css  js  c++  java
  • Linux 安装Mysql5.7

    1 Centos7

    1.1 编译版本安装

    1.1.1 下载mysql5.7.31 (这里选择的是通用Linux版本)

    https://cdn.mysql.com/archives/mysql-5.7/mysql-5.7.31-linux-glibc2.12-x86_64.tar.gz

    1.1.2 卸载自带的mariadb和mysql

    检查是否安装了mariadb和mysql,有时候默认安装了

    rpm -qa | grep mariadb
    rpm -qa | grep mysql
    

    如果没有,就可以安装mysql,如果有,需要先卸载(remove后为上面命令查询到的内容,全文件名,我这里没有,没法展示)

    yum remove mariadb-*
    

    1.1.3 将下载好的文件传到linux服务器

    使用SecureCRT把mysql安装包上传到linux服务器,这里上传到/usr/local

    rz
    


    解压缩

    tar -zxvf mysql-5.7.31-linux-glibc2.12-x86_64.tar.gz
    

    重命名

    mv mysql-5.7.31-linux-glibc2.12-x86_64 mysql
    

    1.1.4 添加mysql用户,修改mysql目录权限,并用此用户执行应用

    useradd -s /bin/false -M mysql
    cd /usr/local/mysql
    chown -R mysql:mysql mysql
    

    1.1.5 在/etc/下新建 my.cnf文件

    添加配置

    [mysqld]
    # binlog 
    log-bin=/usr/local/mysql/logs/mysql-bin.log
    expire-logs-days=14
    max-binlog-size=500M
    server-id=1
    pid-file=/usr/local/mysql/mysqld.pid
    # GENERAL
    basedir=/usr/local/mysql
    datadir=/usr/local/mysql/data
    socket=/usr/local/mysql/mysql.sock
    user=mysql
    default-storage-engine=InnoDB
    character-set-server=utf8
    lower_case_table_names = 1
    explicit_defaults_for_timestamp=true
    [mysqld_safe]
    log-error=/usr/local/mysql/mysql-error.log
    [client]
    socket=/usr/local/mysql/mysql.sock
    [mysql]
    default-character-set=utf8
    socket=/usr/local/mysql/mysql.sock
    

    对应的文件自己要手动添加

    1.1.6 安装mysql,进入mysql目录执行以下命令

    cd /usr/local/mysql
    
    bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
    
    

    出现以下信息,代表成功,要保存一下密码

    1.1.7 拷贝启动程序,将mysql的启动程序拷贝到/etc/init.d/目录下

    cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
    

    1.1.8 安装完,启动mysql服务

    service mysqld start
    

    1.1.9 配置环境变量,编辑/etc/profile,方便在任何地方用mysql命令

    vim /etc/profile
    
    export MYSQL_HOME=/usr/local/mysql
    export PATH=$PATH:$MYSQL_HOME/bin
    

    配置文件生效

    source /etc/profile
    

    1.1.10 首次登录没有密码,提示输入密码时,输入第6步安装时生成的密码

    mysql -uroot -p
    
    alter user 'root'@'localhost' identified by 'root';
    flush privileges;
    

    开启远程访问

    GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;
    

    1.1.11 mysql服务常用命令

    service mysqld start     #启动
    service mysqld stop        #关闭    
    service mysqld restart    #重启    
    service mysqld status     #查看运行状态 
    

    1.2 yum方式安装

    参考原文地址
    https://www.cnblogs.com/bigbrotherer/p/7241845.html

    1.2.1 下载并安装MySQL官方的 Yum Repository

    [root@localhost ~]# wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
    

    使用上面的命令就直接下载了安装用的Yum Repository,大概25KB的样子,然后就可以直接yum安装了。

    [root@localhost ~]# yum -y install mysql57-community-release-el7-10.noarch.rpm
    

    之后就开始安装MySQL服务器。

    [root@localhost ~]# yum -y install mysql-community-server
    

    1.2.2 MySQL数据库设置

    首先启动MySQL

    [root@localhost ~]# systemctl start  mysqld.service
    

    查看MySQL运行状态,运行状态如图:

    此时MySQL已经开始正常运行,不过要想进入MySQL还得先找出此时root用户的密码,通过如下命令可以在日志文件中找出密码:

    [root@localhost ~]# grep "password" /var/log/mysqld.log
    

    如下命令进入数据库:

    [root@localhost ~]# mysql -uroot -p
    

    输入初始密码,此时不能做任何事情,因为MySQL默认必须修改密码之后才能操作数据库:

    mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'new password';
    

    这里有个问题,新密码设置的时候如果设置的过于简单会报错:

    原因是因为MySQL有密码设置的规范,具体是与validate_password_policy的值有关:

    MySQL完整的初始密码规则可以通过如下命令查看:

    mysql> SHOW VARIABLES LIKE 'validate_password%';
    +--------------------------------------+-------+
    | Variable_name                        | Value |
    +--------------------------------------+-------+
    | validate_password_check_user_name    | OFF   |
    | validate_password_dictionary_file    |       |
    | validate_password_length             | 4     |
    | validate_password_mixed_case_count   | 1     |
    | validate_password_number_count       | 1     |
    | validate_password_policy             | LOW   |
    | validate_password_special_char_count | 1     |
    +--------------------------------------+-------+
    7 rows in set (0.01 sec)
    

    密码的长度是由validate_password_length决定的,而validate_password_length的计算公式是:

    validate_password_length = validate_password_number_count + validate_password_special_char_count + (2 * validate_password_mixed_case_count)
    

    我的是已经修改过的,初始情况下第一个的值是ON,validate_password_length是8。可以通过如下命令修改:

    mysql> set global validate_password_policy=0;
    mysql> set global validate_password_length=1;
    

    设置之后就是我上面查出来的那几个值了,此时密码就可以设置的很简单,例如1234之类的。到此数据库的密码设置就完成了。

    但此时还有一个问题,就是因为安装了Yum Repository,以后每次yum操作都会自动更新,需要把这个卸载掉:

    [root@localhost ~]# yum -y remove mysql57-community-release-el7-10.noarch
    

    此时才算真的完成了。

    2 Ubuntu

  • 相关阅读:
    SuperMap房产测绘成果管理平台
    SuperMap产权登记管理平台
    Android adb shell am 的用法(1)
    由浅入深谈Perl中的排序
    Android 内存监测和分析工具
    Android 网络通信
    adb server is out of date. killing...
    引导页使用ViewPager遇到OutofMemoryError的解决方案
    adb logcat 详解
    How to send mail by java mail in Android uiautomator testing?
  • 原文地址:https://www.cnblogs.com/syzjzmh/p/14167374.html
Copyright © 2011-2022 走看看