zoukankan      html  css  js  c++  java
  • MySql二进制版安装教程

    1、检查是否已安装过mariadb,若有便删除(linux系统自带的)

    [root@localhost /]# rpm -qa | grep mariadb
    [root@localhost /]# rpm -e --nodeps mariadb-libs-5.5.60-1.el7_5.x86_64

    2、检查是否已安装过mysql,若有便删除(linux系统自带的)

    1 [root@localhost /]# rpm -qa | grep mysql
    2 [root@localhost /]# rpm -e –-nodeps mysql-libs-5.1.52.x86_64

    3、解压MySQL安装包

    最好的安装路径是/usr/local/下,如果不是安装到这个目录下面,需要修改配置文件。最后再具体简绍。

    tar -zxvf mysql-*.tar.gz 解压

    z : 表示 tar 包是被 gzip 压缩过的,所以解压时需要用gunzip 解压

    x : 从 tar 包中把文件提取出来

    v : 显示详细信息

    f xxx.tar.gz : 指定被处理的文件是 xxx.tar.gz

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

    解压目录内容

    bin mysqld服务器,客户端和实用程序 
    data 日志文件,数据库 
    docs MySQL手册信息格式 
    man Unix手册页 
    include 包含(标题)文件 
    lib 库 
    share 其他支持文件,包括错误消息,示例配置文件,用于数据库安装的SQL

    mv mysql-* mysql 重命名

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

    重命名后复制到/usr/local目录下

    cp -r mysql /usr/local

    4、检查mysql组和用户是否存在,如无创建:

      [root@localhost ~]# cat /etc/group | grep mysql
      [root@localhost ~]# cat /etc/passwd |grep mysql
      [root@localhost ~]# groupadd mysql
      [root@localhost ~]# useradd -r -g mysql mysql

    5、更改mysql目录下所有的目录及文件夹所属组合用户

    [root@localhost /]# cd /usr/local/ 
    [root@localhost local]# chown -R mysql:mysql mysql/
    [root@localhost local]# chmod -R 755 mysql/

    6、初始化数据

    [root@localhost local]# /usr/local/mysql/bin/mysqld --initialize --user=mysql --datadir=/usr/local/mysql/data --basedir=/usr/local/mysql

    若报错,在mysql下添加data目录

    mkdir /usr/local/mysql/data

    记录上面成功安装后的密码,如图所示,后续用到!

    在etc下创建my.cnf

     1 [mysql]
     2  
     3 # 设置mysql客户端默认字符集
     4  
     5 default-character-set=utf8
     6  
     7 [mysqld]
     8  
     9 #skip-name-resolve
    10  
    11 # 设置3306端口
    12  
    13 port=3306
    14  
    15 # 设置mysql的安装目录
    16  
    17 basedir=/usr/local/mysql
    18  
    19 # 设置mysql数据库的数据的存放目录
    20  
    21 datadir=/usr/local/mysql/data
    22  
    23 #datadir=/data/mysql
    24  
    25 # 允许最大连接数
    26  
    27 max_connections=2000
    28 
    29  
    30 #socket=/var/lib/mysql/mysql.sock
    31 
    32 socket=/tmp/mysql.sock
    33 
    34  
    35 #log-error=/var/log/mysqld.log
    36  
    37 #pid-file=/var/run/mysqld/mysqld.pid
    38  
    39  
    40  
    41 # 服务端使用的字符集默认为8比特编码的latin1字符集
    42  
    43 character-set-server=utf8
    44  
    45 # 创建新表时将使用的默认存储引擎
    46  
    47 default-storage-engine=INNODB
    48  
    49 lower_case_table_names=1
    50  
    51 innodb_buffer_pool_size = 1G # (adjust value here, 50%-70% of total RAM)
    52  
    53 innodb_log_file_size = 256M
    54  
    55 innodb_flush_log_at_trx_commit = 1 # may change to 2 or 0
    56  
    57 innodb_flush_method = O_DIRECT
    58  
    59 sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

    6、启动mysql服务

    启动MySQL服务
    启动脚本有两个分别是:
      /usr/local/mysql/bin/mysqld_safe
      /usr/local/mysql/support-files/mysql.server(即/etc/init.d/mysqld)
    当启动mysqld时,mysqld_safe同时启动
    mysqld_safe监控mysqld服务,记录错误日志,并在mysqld因故障停止时将其重启

    启动方式一

    bin/mysqld_safe --user=mysql &

    启动方式二(Centos老版本方法)

    添加到MySQL 启动脚本到系统服务

    cp support-files/mysql.server /etc/init.d/mysql.server
    service mysql.server start(推荐)

    或者

    /usr/local/mysql/support-files/mysql.server start

    设置开机自启动

    1、将服务文件拷贝到init.d下,并重命名为mysql
    [root@localhost local]# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
    2、赋予可执行权限
    [root@localhost local]# chmod +x /etc/init.d/mysqld
    3、添加服务
    [root@localhost local]# chkconfig --add mysqld
    4、显示服务列表
    [root@localhost local]# chkconfig --list
    5、重启服务器
    [root@localhost local]# reboot

    Centos7开机自启设置方法(强烈推荐):https://www.cnblogs.com/116970u/p/10974965.html

    启动时,我的系统报错如下:(提前配置好my.cnf,就不会出现该问题了)

    我们修改my.cnf

    补充:查看mysql进程

    ps -ef | grep mysql

    8、登录Mysql(密码为初始化密码)

    /usr/local/mysql/bin/mysql -uroot -p

    9、修改MySQL密码

    登陆成功后,设置MySQL密码

    mysql> ALTER USER 'root'@'localhost' identified by '你的密码'; 

    或者

    set password=password("你的密码");

    查看mysql.user表中存在哪些帐户 以及它们的密码是否为空:

    MySQL 5.7.6起,使用这个语句:

    1 mysql> SELECT User, Host, HEX(authentication_string) FROM mysql.user;

    示例:

    1 mysql> SELECT User, Host, HEX(authentication_string) FROM mysql.user;
    2 +---------------+-----------+------------------------------------------------------------------------------------+
    3 | User          | Host      | HEX(authentication_string)                                                         |
    4 +---------------+-----------+------------------------------------------------------------------------------------+
    5 | root          | localhost | 2A39383730334637413534333934344644333831383037373636394637344436303631364442324338 |
    6 | mysql.session | localhost | 2A5448495349534E4F544156414C494450415353574F52445448415443414E42455553454448455245 |
    7 | mysql.sys     | localhost | 2A5448495349534E4F544156414C494450415353574F52445448415443414E42455553454448455245 |
    8 +---------------+-----------+------------------------------------------------------------------------------------+

    MySQL配置环境变量(推荐)

    #编辑  vi /etc/profile

    #在文本最后添加系统环境变量

    1 #mysql环境变量
    2 export PATH=$PATH:/usr/local/mysql/bin

    配置后可以直接输入mysql -uroot -p登录mysql

    保存退出,重新加载

    [root@localhost mysql]# source /etc/profile

    10、开启远程登录

    防火墙开放3306端口:

    firewall-cmd --zone=public --add-port=3306/tcp --permanent
    重新载入
    firewall-cmd --reload
    查看
    firewall-cmd --zone= public --query-port=3306/tcp
    删除
    firewall-cmd --zone= public --remove-port=3306/tcp --permanent

    以权限用户root登录

    /usr/local/mysql/bin/mysql -uroot -p
    1 mysql> use mysql;
    2 mysql> update user set host = '%' where user ='root';
    3 mysql> flush privileges;

    说明:

      第1行:选择mysql库
      第2行:修改host值(以通配符%的内容增加主机/IP地址),当然也可以直接增加IP地址
      第3行:刷新MySQL的系统权限相关表  

    或者使用此方法:

    1 mysql> grant all privileges on *.*  to  'root'@'%'  identified by '你的密码'  with grant option;
    2 mysql> flush privileges;

    参考:

    https://www.cnblogs.com/fangts/p/8994851.html

    https://segmentfault.com/a/1190000010864818?utm_source=tag-newest

  • 相关阅读:
    springMVC(5)---导入excel文件数据到数据库
    springMVC(4)---生成excel文件并导出
    springMVC(3)---利用pdf模板下载
    springMVC(1)---@RequestMapping详解
    springMVC(2)---获取前段数据
    【JS】---5 JS通过事件隐藏显示元素
    【JS】---4用JS获取地址栏参数方法
    【功能代码】---3 JS判断字符串是否包含某个字符串
    基于maven的ssm框架整合
    java提高(9)---HashMap解析
  • 原文地址:https://www.cnblogs.com/116970u/p/10973437.html
Copyright © 2011-2022 走看看