zoukankan      html  css  js  c++  java
  • MySQL安装的N种方式

    一、二进制包安装

    1.)下载:在官网的下载页面下的服务器操作系统选择  Linux- Generic ; 进制分发版的格式是:mysql-<版本>-<OS>-tar.gz 

    2.)解压并更名到指定目录,并在其下创建data、log并赋予相关目录mysql的用户权限

    3.)初始化MySQL(警告提示可忽略):bin/mysqld --initialize --user=mysql --basedir=/opt/mysql --datadir=/opt/mysql/data/

      [注意]打印信息root@localhost后会有生成临时密码的提示。

    4.)MySQL使用ssl连接:bin/mysql_ssl_rsa_setup --datadir=/opt/mysql/data/

    5.)添加mysql启动脚本到本地系统服务:cp support-files/mysql.server /etc/init.d/mysql.server

    6.)创建/etc/my.cnf文件,并写入:

    [mysqld]
    basedir=/opt/mysql
    datadir=/opt/mysql/data
    socket=/opt/mysql.sock   #需要mysql用户权限
    user=mysql
    log_error=/opt/mysql/log/mysql.log       #手动在log下面创建文件并赋予权限。

    7、启动方式:
    1.service mysql.server start
    2.bin/mysqld_safe --user=mysql &

    8、将MySQL的二进制执行文件目录添加到环境变量:
          ln -s /opt/mysql/bin/mysql /usr/bin/

    9.更改密码,配置文件中添加“skip-grant-tables”

    mysql> update mysql.user set authentication_string=password('123456') where user='root' and Host = 'localhost';
    mysql> flush privileges;.

    二、RPM安装

    1.、检测系统是有缺省MySQL的相关组件:rpm -qa|grep -E 'mariadb|mysql',有则rpm -e --nodeps卸载,否则安装报类似如下错误:file /usr/share/mysql/charsets/swe7.xml from install of mysql-community-common.x86_64


    2、下载相关依赖包,并按顺序安装:
      mysql-community-common
      mysql-community-libs
      mysql-community-client
      mysql-community-server

    3、启动MySQL:service mysqld start     OR        systemctl start mysqld

    三、yum安装

    官方epel源:(默认是官网当前发布的版本) https://dev.mysql.com/downloads/repo/yum/

    1.)安装步骤

    rpm -Uvh https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm

     yum   -y   install     mysql    mysql-server

    根据配置文件得知数据文件的默认安装路劲是在/var/lib/mysql 下,可以迁移到其他目录:

    1.)cp   -a   /var/lib/mysql    /usr/local/

    2.)配置文件中将缺省的参数更改为下例:

    datadir=/usr/local/mysql
    socket=/usr/local/mysql/mysql.sock

    #可以不加下列参数,否则登录时需要“-S”手动指定套接字的存在
    [client]
    socket=/usr/local/mysql/mysql.sock

    3.)

    切记一定要关闭Selinux,否则无法启动mysql。

    数据路劲切换完成后建议将原有的目录名称更改,防止系统中其他mysql配置文件调用原有文件。

    四、源码安装

    1.)检测系统自带的mysql-libs包,并进行卸载

    2.)由于MySQL源码安装:从mysql5.5以后是通过cmake来编译的安装的,但cmake要依赖ncurses,所以你懂的,有需要依赖就装给它!

    下载如下插件并编译安装:

      ncurses:ftp://ftp.gnu.org/gnu/ncurses/ncurses-5.8.tar.gz

      cmake:https://cmake.org/files/v3.0/cmake-3.0.2.tar.gz

      ./configure           make ; make install

    3.)编译安装Mysql

    cmake -DCMAKE_INSTALL_PREFIX=/usr/local/MySQL/ -DMySQL_DATADIR=/usr/local/mysql/data -DSYSCONFDIR=/etc -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DMySQL_UNIX_ADDR=/tmp/MySQL.sock -DMySQL_TCP_PORT=3306 -DENABLED_LOCAL_INFILE=1 -DWITH_PARTITION_STORAGE_ENGINE=1 -DEXTRA_CHARSETS=all -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci

    make && make install

    #######编译参数详解:

    # -DCMAKE_INSTALL_PREFIX=/usr/local/mysql #安装路径
    # -DMYSQL_DATADIR=/usr/local/mysql/data #数据文件存放位置
    # -DSYSCONFDIR=/etc #my.cnf路径
    # -DWITH_MYISAM_STORAGE_ENGINE=1 #支持MyIASM引擎
    # -DWITH_INNOBASE_STORAGE_ENGINE=1 #支持InnoDB引擎
    # -DWITH_MEMORY_STORAGE_ENGINE=1 #支持Memory引擎
    # -DWITH_READLINE=1 #快捷键功能(我没用过)
    # -DMYSQL_UNIX_ADDR=/tmp/mysqld.sock #连接数据库socket路径
    # -DMYSQL_TCP_PORT=3306 #端口
    # -DENABLED_LOCAL_INFILE=1 #允许从本地导入数据
    # -DWITH_PARTITION_STORAGE_ENGINE=1 #安装支持数据库分区
    # -DEXTRA_CHARSETS=all #安装所有的字符集
    # -DDEFAULT_CHARSET=utf8 #默认字符

    4.)安装完成后续的操作:

    useradd mysql

    chown -R mysql.mysql /usr/local/mysql
    chown -R mysql.mysql /mysql/data/

    5.)初始化数据库(初始完之后会在数据文件中生成一些文件)

    cd /usr/local/MySQL/scripts

    ./mysql_install_db    --user=mysql    --basedir=/usr/local/MySQL  --datadir=/usr/local/MySQL/data

    6.)copy主配置文件到/etc/。
    cp /usr/local/MySQL/support-files/my-default.cnf     /etc/my.cnf
    注意:老版本名称是my-medium.cnf3

    7.)将mysql添加到系统服务:
    cp /usr/local/MySQL/support-files/mysql.server     /etc/init.d/mysqld

    注意事项:

    重新编译时,需要清除旧的对象文件和缓存信息。

    #make clean

    #rm -f CMakeCache.txt

    #rm -rf /etc/my.cnf

    五、ERROR案例:

    1.)登录报错:ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock'

    解决方案:

    临时::登录时加-S sock文件绝对路劲
    最终:将配置文件中的[client]添加socket字段与[mysqld]socket相同。或则两个配置项都不写socket字段(可能不行)

    排错思路:检测配置文件中指定的socket字段路劲权限是否正常。MySQL编译安装时会要求指定socket的绝对路劲,就算在配置文件中的mysqld与client中不写socket字段都没关系,而MySQL二进制文件是官方编译后的软件,其编译参数都是默认的,即在mysqld配置段指定了socket,而client不指定则会出现冲突。

    2.)执行任意操作时提示:ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.

    解决方案:

    更改密码:SET PASSWORD = PASSWORD('123456'); 注意配置文件中添加skip则不支持执行该命令; 且要求密码规则如此:用大写字母+数字+特殊字符长度 8 位以上混合,否则提示:ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

    如果只想设置简单密码需要修改两个全局参数:
    mysql> set global validate_password_policy=0;
    mysql> set global validate_password_length=1;

  • 相关阅读:
    pycharm 安装第三方库报错:AttributeError: 'module' object has no attribute 'main'
    工作冥想
    对于测试工作与测试人员未来出路的思考
    测试计划再谈
    python 反转列表的3种方式
    关于最近练习PYTHON代码的一点心得
    python sum()函数的用法
    python count()函数
    SpringCloud和SpringBoot的详细版本说明
    使用 lntelliJ IDEA 创建 Maven 工程的springboot项目
  • 原文地址:https://www.cnblogs.com/Confession/p/7776813.html
Copyright © 2011-2022 走看看