zoukankan      html  css  js  c++  java
  • MySQL8.0.18通用版本安装

    环境说明:

      系统版本:CentOS release 6.8 (Final)

      MySQL版本:mysql-8.0.18

      内存:63G

      空间:8T

    1 配置本地yum仓库

     这个只需要拷贝一个镜像,然后挂载镜像到某个目录,最后将哪个目录配置为yum仓库的目录即可

    2 下载安装包:wget https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-8.0.18-linux-glibc2.12-x86_64.tar.xz

    3 解压安装包:tar -zxf mysql-8.0.18-linux-glibc2.12-x86_64.tar.xz -C /usr/local/mysql8

    4 创建用户,MySQL数据目录和授权

    mkdir /data/mysql8

    useradd -r -s /sbin/nologin -g mysql mysql -d /usr/local/mysql8

    chown mysql:mysql /usr/local/mysql8/ -R

    chown -R mysql:mysql /data/mysql8/ 

    5 MySQL初始化

    cd /usr/local/mysql8/

    ###  注意,生产环境中一般要设置忽略表名大小写。这个参数必须在初始化数据库时就要指定,否则在建库完成之后,在修改配置文件会报错

    sudo bin/mysqld --initialize  --lower-case-table-names=1 --user=mysql --basedir=/usr/local/mysql8 --datadir=/data/mysql8  # 注意初始化命令执行后会生成一个临时root密码

    sudo bin/mysql_ssl_rsa_setup --datadir=/data/mysql8    #生成密钥对

    6 将MySQL服务添加到系统服务中

    sudo cp support-files/mysql.server /etc/init.d/mysqld -r

    vim /etc/init.d/mysqld    #修改配置文件中,指定数据目录和安装目录

    datadir=/data/mysql8

    basedir=/usr/local/mysql8

    7 配置环境变量,使用命令

    sudo vim /etc/profile   #文件末尾追加以下内容

    #set MySQL
    export PATH=$PATH:/usr/local/mysql8/bin:/usr/local/mysql8/sbin

    source /etc/profile

    8 启动MySQL服务,先删除配置文件

    sudo rm -rf /etc/my.cnf

    如果在初始化时指定了忽略大小写,则必须先在/etc/my.cnf配置文件中加上忽略大小写的选项,MySQL才能启动成功。如果没有指定,则可以忽略这一步

    echo "[mysqld]" >> /etc/my.cnf

    echo "lower-case-table-names=1" >> /etc/my.cnf

    echo "default_authentication_plugin=mysql_native_password" >> /etc/my.cnf

    sudo /etc/init.d/mysqld start

    #使用临时密码登陆数据库

    mysql -uroot -p临时密码

    登陆之后立即修改数据库的密码:

    mysql>ALTER user 'root'@'localhost' IDENTIFIED BY '新密码';

    刷新权限表:

    mysql>flush privileges;

    9 使用新修改的root密码登录MySQL,并给新用户授权

    https://www.cnblogs.com/xxsl/p/10791137.html

    mysql -uroot -p新密码

    mysql>user mysql;

    mysql>create user testuser@'%' identified by 'testuser';

    mysql>grant all privileges on *.* to 'testuser'@'%' with grant option;

    mysql>flush privileges;

    10 配置MySQL配置文件 /etc/my.cnf

    先停止服务:

    /etc/init.d/mysqld stop

    在修改配置文件:

    vim /etc/my.cnf

    [mysqld]

    datadir=/data/mysql8
    basedir=/usr/local/mysql8
    user=mysql

    socket=/data/mysql8/mysql.sock

    ## Disabling symbolic-links is recommended to prevent assorted security risks
    symbolic-links=0
    ## instructions in http://fedoraproject.org/wiki/Systemd
    #[mysqld_safe]
    log-error=/data/mysql8/mysql.log
    pid-file=/data/mysql8/mysql.pid

    11 重启MySQL,使用root连接

    报错显示找不到套接字文件,做一个软连接

    ln -s /data/mysql8/mysql.sock /tmp/mysql.sock

    再次登陆成功

    mysql -uroot -p新密码

    登陆,可以成功查看

    12  设置MySQL服务为开机自启动

    chkconfig mysqld on

    chkconfig --list |grep mysqld

    13 使用客户端navicat连接 总是报错1251;

    之前的版本中加密规则是mysql_native_password,而在mysql8之后,加密规则是caching_sha2_password,直接去连接Navicat会报错1251

    解决办法:

    在/etc/my.cnf中添加:default_authentication_plugin=mysql_native_password

    然后在数据库中修改testuser的认证方式:

    https://blog.csdn.net/u011182575/article/details/80821418

    重启数据库:service mysqld restart

    报错二:mysql8完成安装后,优化参数忽略表名大小写时报错如下

     具体优化步骤如下:

    1 关闭MySQL服务  /etc/init.d/mysqld stop

    2 修改配置文件,添加忽略表明大写的参数

    vim /etc/my.cnf

    在[mysqld]下面配置如下参数

    lower_case_table_names=1

    3 重启MySQL服务器:/etc/init.d/mysqld start

    报错如下:

    4 具体解决办法:查阅官方文档后发现,如果要让忽略表名大小写的配置生效,则必须在数据库初始化时指定此参数。

      如果数据比较重要,则可以先进行数据库全库备份。

      然后在删除数据库

      重新初始化数据库,执行忽略表名大小写的参数值为1 

  • 相关阅读:
    Linux下管道编程
    【Windows】用信号量实现生产者-消费者模型
    初识【Windows API】--文本去重
    HDU 5183 Negative and Positive (NP) --Hashmap
    【ASC 23】G. ACdream 1429 Rectangular Polygon --DP
    UVALive 4670 Dominating Patterns --AC自动机第一题
    POJ 2225 / ZOJ 1438 / UVA 1438 Asteroids --三维凸包,求多面体重心
    我也来写2014年总结
    UVALive 4870 Roller Coaster --01背包
    UVALive 4864 Bit Counting --记忆化搜索 / 数位DP?
  • 原文地址:https://www.cnblogs.com/butterflies/p/12022971.html
Copyright © 2011-2022 走看看