• 部署解压版mysql


    1、检查系统是否安装过mysql 

    //检查系统中有无安装过mysql
    rpm -qa|grep mysql
    
    //查询所有mysql 对应的文件夹,全部删除
    whereis mysql
    find / -name mysql

    2、创建mysql用户

    #创建mysql 用户组和用户
    groupadd mysql
    
    useradd -r -g mysql mysql

    3、下载安装,从官网安装下载,我下载的位置在/usr/local/

    wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.31-linux-glibc2.12-x86_64.tar.gz

    4、解压安装mysql

    注:必须安装在/usr/local/下
    tar -zxvf mysql-5.7.31-linux-glibc2.12-x86_64.tar.gz        //解压MySQL包
    mv mysql-5.7.31-linux-glibc2.12-x86_64 mysql        //重命名

    5、更改mysql 目录下所有文件夹所属的用户组和用户,以及权限

    chown -R mysql:mysql /usr/local/mysql        //更改mysql 目录下所有文件夹所属的用户组和用户
    chmod -R 755 /usr/local/mysql                //更改mysql权限

    6、进入mysql/bin/目录,编译安装并初始化mysql,务必记住数据库管理员临时密码

    注:记住临时密码!!!

    //解决参数化mysql服务错误问题
    yum -y install numactl                //添加numactl依赖库
    
    //解决libaio.so.1:No such file or directory缺包问题
    yum install libaio*
    
    ./mysqld --initialize --user=mysql --datadir=/usr/local/mysql/data --basedir=/usr/local/mysql

    7、编写配置文件 my.cnf ,并添加配置

    //配置文件 my.cnf ,并添加配置
    vi /etc/my.cnf                
    
    //文件内容
    [client]
    default-character-set=utf8
    [mysql]
    default-character-set=utf8
    [mysqld]
    character_set_server=utf8
    datadir=/usr/local/mysql/data
    port = 3306
    sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
    symbolic-links=0
    max_connections=400
    innodb_file_per_table=1
    #表名大小写不明感,敏感为
    lower_case_table_names=1

    8、启动mysql 服务器

    //查询服务
    ps -ef|grep mysql
    ps -ef|grep mysqld
    //启动mysql 服务器
    /usr/local/mysql/support-files/mysql.server start        

    9、添加软连接,并重启mysql 服务

    //添加软连接
    ln -s /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
    ln -s /usr/local/mysql/bin/mysql /usr/bin/mysql
    
    //解决执行service命令错误问题
    yum list | grep initscripts    //查询initscripts依赖版本
    yum install initscripts -y    //安装initscripts依赖
    
    //重启mysql服务
    service mysql restart        

    10、登录mysql ,密码就是初始化时生成的临时密码

    //解决mysql登录错误问题
    yum install libncurses*
    
    mysql -u root -p        //登入mysql,输入临时密码

    11、修改密码,因为生成的初始化密码难记

    set password for root@localhost = password('root');        //修改密码,注意:分号结尾

    12、开放远程连接

    use mysql;
    update user set user.Host='%' where user.User='root';
    flush privileges;

    13、设置开机自启

    cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld    //将服务文件拷贝到init.d下,并重命名为mysql
    chmod +x /etc/init.d/mysqld        //赋予可执行权限
    chkconfig --add mysqld        //添加服务
    chkconfig --list            //显示服务列表

     mysql5.7数据库乱码问题

    解决相关问题:

    1.初始密码验证失败

    vim /etc/my.cnf #修改配置
    
    skip-grant-tables  #末尾添加,跳过密码验证
    
    service restart mysql #重启mysql

    进入到终端当中,敲入 mysql -u root -p命令然后回车,当需要输入密码时,直接按enter键,便可以不用密码登录到数据库当中

    2.修改MySQL数据库配置文件无密码登录后,修改密码报错:

    ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement

    flush privileges;  #刷新缓存
    
    set password for root@localhost=password('你的密码'); #修改密码

    编辑my.cnf,去掉刚才添加的内容,然后重启MySQL。大功告成!

    参考链接参考链接
  • 相关阅读:
    本地连不上远程mysql数据库(2)
    linux后台执行命令:&和nohup
    uva 10806 Dijkstra, Dijkstra. (最小费最大流)
    VS2013带来的"新特性"
    HDOJ 5091 Beam Cannon 扫描线
    2014百度之星资格赛4题
    二维码登陆
    安装Sublime配合quick-cocos2d-x开发
    J2SE核心开发实战(二)——字符串与包装类
    LeetCode_3Sum Closest
  • 原文地址:https://www.cnblogs.com/bgyb/p/14820068.html
Copyright © 2020-2023  润新知