zoukankan      html  css  js  c++  java
  • linux下mysql的tar包离线安装

    linux下mysql的tar包离线安装

    1.确保mysql安装之前有libaio依赖

    yum search libaio 
    yum install libaio
    

    2.下载mysql的tar离线包

    下载页面选择系统,linux-Generic

    https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-8.0.19-linux-glibc2.12-x86_64.tar.xz
    

    删除系统自带mariadb

    [gz_admin@ ~]# rpm -qa|grep mariadb
    mariadb-libs-5.5.44-2.el7.centos.x86_64
    [gz_admin@~]# rpm -e --nodeps mariadb-libs-5.5.44-2.el7.centos.x86_64
    

    删除etc目录下的my.cnf文件

    [gz_admin@ ~]# rm -rf  /etc/my.cnf
    

    3.解压msyql安装包到指定目录下

    tar -xvf mysql-8.0.19-linux-glibc2.12-x86_64.tar.xz -C /usr/local
    

    4.重命名项目,进入/usr/local目录

    cd /usr/local
    mv mysql-8.0.19-linux-glibc2.12-x86_64 mysql
    

    5.新建mysql数据及日志存放路径:

    cd /data
    mkdir mysql
    cd mysql
    mkdir data  # 存放mysql数据
    

    6.修改配置文件

    有的话直接修改,没有就创建

    touch /etc/my.cnf
    vim my.cnf
    
    # 配置如下
    [mysql]
    # 设置mysql客户端默认字符集
    default-character-set=utf8
    
    [mysqld]
    port = 3306  # 设置3306端口
    socket=/data/mysql/mysql.sock  # 套接字保存路径
    basedir=/usr/local/mysql  # 设置mysql的安装目录
    datadir=/data/mysql/data  # 设置mysql数据库的数据的存放目录
    log-error=/data/mysql/error.log  # 报错日志路径
    pid-file=/data/mysql/mysql.pid
    max_connections=1000  # 允许最大连接数
    character-set-server=utf8  # 服务端使用的字符集默认为8比特编码的latin1字符集
    
    # 创建新表时将使用的默认存储引擎
    default-storage-engine=INNODB
    max_allowed_packet=1024M
    
    [mysqld_safe]
    socket=/data/mysql/mysql.sock
    
    [client]
    socket=/data/mysql/mysql.sock
    
    [mysql.server]
    socket=/data/mysql/mysql.sock
    

    image-20200316183119983

    7.创建mysql用户组

    [gz_admin@ ~]# groupadd mysql
    #创建一个用户名为mysql的用户并加入mysql用户组
    [gz_admin@ ~]# useradd -g mysql mysql
    #制定password 为 mysql123
    [gz_admin@~]# passwd mysql
    Changing password for user mysql.
    New password: 
    BAD PASSWORD: The password is a palindrome
    Retype new password: 
    passwd: all authentication tokens updated successfully.
    

    8.修改mysql目录权限,命令如下:

    chown -R mysql:mysql /usr/local/mysql  # 修改mysql属主给mysql用户
    chown -R mysql:mysql /data/mysql  # 修改data属主给mysql用户
    chmod -R 755 /data/mysql /usr/local/mysql  # 写入权限
    

    9.安装初始化mysql,命令如下:

    ./bin/mysqld --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql/data --initialize
    
    注释:
    # 解压后的文件夹路径
    --basedir=/usr/local/mysql
    
    # 指定数据目录,初始化过程中会自动创建该目录
    --datadir=/usr/local/mysql/data
    

    注意,这一步会产生一个临时密码,需要到指定的日志文件日志中去查看。

    10.将mysql进程放入系统进程中,命令如下:

    修改/support-files/mysql.server文件

    basedir=/usr/local/mysql
    datadir=/data/mysql/data
    mysqld_pid_file_path=/data/mysql/mysql.pid
    

    拷贝到/etc/init.d/mysqld

    cp support-files/mysql.server /etc/init.d/mysql
    

    然后就可以使用此命令启动/关闭 mysql:

    service mysql start
    service mysql stop
    service mysql restart
    

    11.设置开机启动 在/etc/init.d文件夹下操作

    cd /etc/init.d
    chmod 755 /etc/init.d/mysql
    chkconfig --add mysql
    chkconfig --level 345 mysql on
    service mysql restart
    

    11.启动mysql

    service mysql start
    mysql -u root -p  # 输入密码进入
    

    初始密码查看方法,进入配置中指定的日志文件,error.log

    image-20200316200227321

    12.设置mysql环境变量

    vim /etc/profile
    export PATH=$PATH:/usr/bin/mysql/bin
    source /etc/profile
    

    重置root密码

    1.编辑MySQL配置文件my.cnf

    vi /etc/my.cnf #编辑文件,找到[mysqld],在下面添加一行skip-grant-tables

    [mysqld]
    skip-grant-tables
    

    :wq! #保存退出

    service mysqld restart  #重启MySQL服务
    

    2.进入MySQL控制台

    mysql -uroot -p  #直接按回车,这时不需要输入root密码。
    

    3.修改root密码

    update mysql.user set password=password('123456') where User="root" and Host="localhost";
    flush privileges; #刷新系统授权表
    grant all on *.* to 'root'@'localhost' identified by '123456' with grant option;
    

    4.取消/etc/my.cnf中的skip-grant-tables

    vi /etc/my.cnf  编辑文件,找到[mysqld],删除skip-grant-tables这一行
    

    :wq! #保存退出

    5.重启mysql

    service mysqld restart  #重启mysql,这个时候mysql的root密码已经修改为123456
    

    6.进入mysql控制台

    mysql -uroot -p #进入mysql控制台
    123456 #输入密码
    

    mysql服务开启远程访问

    问题现象:使用mysql远程登录命令mysql –uroot –h192.168.1.102 –p时,报错MySQL ERROR 1130 (HY000): Host 'XXXX' is not allowed to connect to this MySQL server

    问题原因:mysql服务器出于安全考虑,默认只允许本地登录数据库服务器。

    问题解决:登入mysql后,更改 "mysql" 数据库里的 "user" 表里的 "host" 项,从"localhost"改称"%",然后重启mysql这样就允许所有的远程机器进行访问了。
    1.修改mysql表

    mysql -u root -p
    mysql>use mysql;
    mysql>update user set host='%' where user='root';
    mysql>flush privileges;
    
    mysql>select host, user from user;
    mysql>quit
    

    2.重启mysql

    mysql.server restart
    
  • 相关阅读:
    设计一种配置文件格式(草稿)
    linux shell控制语句
    CuteC 发布(2011519)
    国外兼职外包项目大全
    寻找第K大的数的方法总结
    IEEE PDF eXpress 使用
    找出一个不在文件中的整数 编程珠玑
    BM模式匹配算法实现(C语言)
    一种可做特殊用途的字符串匹配算法
    字符设备驱动程序
  • 原文地址:https://www.cnblogs.com/ryxiong-blog/p/12508133.html
Copyright © 2011-2022 走看看