• 安装Mysql


    参考:https://blog.csdn.net/QQB67G8COM/article/details/86377150

    一、查看系统是否默认安装mysql,CentOS7下默认安装了mariadb,是mysql的一个分支,我们这里卸载掉

    rpm -qa|grep mariadb        #查找系统是否存在Mariadb
    
    rpm -e mariadb* --nodeps    #rpm -e 为卸载,--nodeps为强制卸载指令,
                                #如果一次性卸载不完就一个个卸载,rpm -e  [第一步查找出的文件名]  --nodeps
    附:同样的方式可以卸载旧版本mysql

    二、解压压缩包

    tar -zxvf mysql-5.6.12-linux-x64.gz            #解压
    
    mv mysql-5.6.12-linux-glibc2.5-x86_64 mysql    #更改文件夹名

    三、添加新用户组以及新用户

    groups mysql                #检查是否已经存在mysql这个用户组了
    
    groupadd mysql                #添加新用户组mysql
    
    useradd -r -g mysql mysql    #添加新用户并且分配到mysql用户组,"-r"为建立系统账号,"-g"指定用户所属的群组

    四、安装mysql

    cp ./support-files/my-default.cnf /etc/my.cnf        #安装配置文件

    my.cnf(要记得在mysqld文件下配置my.cnf位置,不然my.cnf文件默认在basedir下生成,优先读取/my.cnf)

    [mysql]
    socket=/var/lib/mysql/mysql.sock
    #设置mysql默认字符集
    default-character-set=utf8 
    
    [mysqld]
    basedir = /usr/local/mysql
    datadir = /usr/local/mysql/data
    port = 3306
    socket = /var/lib/mysql/mysql.sock
    
    max_connections=200
    character-set-server=utf8 
    #设置创建表时默认使用的引擎
    default-storage-engine=INNODB
    
    sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES 
    mkdir ./data        #创建data文件夹
    
    #安装数据库,注意,安装目录和解压目录要在同一个目录下,不然会报找不到my-default.cnf文件异常,
    ./scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/

    若初始化mysql数据库时出现下面错误,原因是缺少Data:dumper模块

    解决方法 :安装autoconf库

    命令:yum -y install autoconf   //此包安装时会安装Data:Dumper模块

    若出现lerror while loading shared libraries: libnuma.so.1:缺少 libnuma.so.1

    解决方法:

    yum install -y numactl

    五、配置mysql

    chmod 777 /etc/my.cnf                #解锁最大权限
    
    #添加mysqld服务控制脚本的执行权限
    cp ./support-files/mysql.server /etc/rc.d/init.d/mysqld    
    此前需要进mysql.server文件中进行配置basedir和datadir
    
    basedir = /usr/local/mysql
    datadir = /usr/local/mysql/data
    chkconfig --add mysqld #将mysqld服务添加到系统服务 chkconfig --list mysqld #查看服务是否生效 #输出结果类似:mysqld 0:off 1:off 2:on 3:on 4:on 5:on 6:off systemctl list-dependencies mysqld #查看当前服务的其它依赖服务以及其它依赖对象 systemctl list-unit-files #查看系统所有服务 systemctl start mysqld #启动mysql systemctl stop mysqld #停止mysql systemctl restart mysqld #重启mysql systemctl status mysqld #查看mysql状态

    六、配置MySql环境变量

    nano /etc/profile

    export MYSQL_HOME=/usr/local/mysql
    PATH=${MYSQL_HOME}/bin:$PATH

    七、向防火墙添加开放端口

    firewall-cmd --zone=public --add-port=3306/tcp --permanent
    firewall-cmd --reload

    八、远程连接MYSQL SERVER

    授权法

    GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '你自己设置的密码' WITH GRANT OPTION;

    flush privileges;

    %代表全部ip,可以设定只允许被某ip进行访问,增加安全性

    九、处理报错

    1、可能出现权限不足报错,Starting MySQL... ERROR! The server quit without updating PID file (/usr/local/mysql/data/VM_0_5_centos.pid)

    解决方法:chown -R mysql:mysql /var/lib/mysql/( /var/lib/mysql/ 为my.cnf中socket所在目录,为mysql用户赋予该目录的权限)

    2、需要将/etc/my.cnf的权限修改为644:

    chmod 644 /etc/my.cnf

    3、还可能出现-bash: mysql: command not found

    原因:这是由于系统默认会查找/usr/bin下的命令,如果这个命令不在这个目录下,当然会找不到命令,我们需要做的就是映射一个链接到/usr/bin目录下,相当于建立一个链接文件。
    首先得知道mysql命令或mysqladmin命令的完整路径,比如mysql的路径是:/usr/local/mysql/bin/mysql,我们则可以这样执行命令:

    # ln -s /usr/local/mysql/bin/mysql /usr/bin

    linux下,在mysql正常运行的情况下,输入mysql提示:
    mysql command not found

    遇上-bash: mysql: command not found的情况别着急,这个是因为/usr/local/bin目录下缺失mysql导致,只需要一下方法建立软链接,即可以解决:
    把mysql安装目录,比如MYSQLPATH/bin/mysql,映射到/usr/local/bin目录下: 
    # cd /usr/local/bin
    # ln -fs /MYSQLPATH/bin/mysql mysql

    还有其它常用命令mysqladmin、mysqldump等不可用时候都可按用此方法解决。
    注:其中MYSQLPATH是mysql的实际安装路径

  • 相关阅读:
    EventLog实现事件日志操作
    可否控制<link type=text/css rel=stylesheet href=style.css>
    强制IE浏览器或WebBrowser控件使用指定版本显示网页2
    C#中的@符号
    C#运算符大全_各种运算符号的概述及作用
    调试时设置条件断点
    C语言:用字符读取流和输出流来读写入数据。(文本文件)
    建立完整的单向动态链表(包括初始化、创建、插入、删除、查找、销毁、输出)
    C语言:创建动态单向链表,创建完成后,输出每一个节点的数据信息。
    C语言:使用realloc函数对malloc或者calloc动态分配的内存大小进行扩展
  • 原文地址:https://www.cnblogs.com/flypig666/p/11700182.html
Copyright © 2020-2023  润新知