美文网首页Linux
Linux(centos)环境配置-mysql8.0.21(二)

Linux(centos)环境配置-mysql8.0.21(二)

作者: 红楼妙玉 | 来源:发表于2020-12-30 10:54 被阅读0次

    2. mysql环境

    所用工具xshell、xftp

    2.1 下载mysql

    下载linux版的mysql

    2.1.1 进入官网

    https://dev.mysql.com/downloads/mysql/

    2.1.2 点击 “ Archives ”

    2.1.3 选择32位或者64位的包,点击 “ Download ”

    2.2 导入mysql

    用xftp将mysql的安装包放入linux系统,具体的位置可以自己定,直接拉过去即可

    2.3 解压mysql

    用xshell通过命令进入到压缩包所在目录

    cd /usr/software/mysql

    然后执行解压

    tar xvJf mysql-8.0.21-linux-glibc2.12-x86_64.tar.xz


    2.4 重命名文件夹

    可以用下面的命令重命名,也可以用xftp直接重命名

    mv mysql-8.0.21-linux-glibc2.12-x86_64 mysql-8.0.21-x64

    2.5 新建data目录

    2.5.1 进入解压后的mysql的目录

    cd /usr/software/mysql/mysql-8.0.21-x64

    2.5.2 新建data目录 及 tmp

    用来存放my.cnf下定义的一些文件路径,my.cnf的配置下面会有介绍

    mkdir data

    mkdir -p data/tmp


    2.6 环境变量配置

    2.6.1 编辑/etc/profile文件

    vi /etc/profile

    在文档的最后加入如下配置,MYSQL_HOME的路径为解压后的路径,以自己的路径为准,编辑完后按esc,再输入“:wq”回车,保存后退出

    #mysql8 环境

    export  MYSQL_HOME=/usr/software/mysql/mysql-8.0.21-x64

    export  PATH=$PATH:$MYSQL_HOME/bin

    2.6.2 保存环境配置

    使用source /etc/profile 保存配置

    source /etc/profile

    2.6.3 添加mysql组合mysql账户

    (安全问题:防止因为数据库的账户有问题而影响整个系统的所有账户)

    groupadd mysql

    2.6.4 关联myql用户到mysql用户组中

    当我们在不通过yum(CentOS<redhat>)、apt-get(Ubuntu<debian>)来安装MySQL的时候,通常执行以下命令来创建一个用户名为mysql的用户并加入mysql用户组

    语法 useradd mysql[用户名]  -g mysql[用户组] 或者 useradd -g mysql[用户组] mysql[用户名]

    useradd -g mysql mysql

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

    chown -R mysql:mysql /usr/software/mysql/mysql-8.0.21-x64

    chmod -R 755 /usr/software/mysql/mysql-8.0.21-x64

    chown -R mysql:mysql /usr/software/mysql/mysql-8.0.21-x64/data

    2.6.6 安装libaio依赖包

    (1)查询是否安装libaio依赖包

    yum search libaio

    (2)如果没安装,可以用下面命令安装

    yum install libaio

    2.6.7 安装mysql

    mysqld --user=mysql --basedir=/usr/software/mysql/mysql-8.0.21-x64 --datadir=/usr/software/mysql/mysql-8.0.21-x64/data --initialize

    3ZG6a.UkEa_-是mysql数据库root用户登录的临时密码,需要记下来,下面登录时需要用到

    2.6.8 修改ysql配置文件

    vim /usr/software/mysql/mysql-8.0.21-x64/support-files/mysql.server

    (1)添加属性值

    basedir=/usr/software/mysql/mysql-8.0.21-x64/

    datadir=/usr/software/mysql/mysql-8.0.21-x64/data

    mysqld_pid_file_path=/usr/software/mysql/mysql-8.0.21-x64/data/mysqld_pid

    (2)再将下面框起来的路径改成自己mysql的路径即可

    2.6.9 设置开机启动

    cp /usr/software/mysql/mysql-8.0.21-x64/support-files/mysql.server /etc/init.d/mysqld

    chmod 755 /etc/init.d/mysqld

    chkconfig --add mysqld //将mysql服务加到系统服务中

    chkconfig mysqld on //开机自启动  


    2.6.10 初始化mysql服务

    sh /usr/software/mysql/mysql-8.0.21-x64/support-files/mysql.server start


    2.6.11 修改my.cnf文件

    vim /etc/my.cnf

    # MySQL 配置文件

    [client]

    port=3306

    # mysql socket 文件存放地址

    socket=/usr/software/mysql/mysql-8.0.21-x64/data/tmp/mysql.sock

    # 默认字符集

    default-character-set=utf8mb4

    [mysqld]

    server-id=1

    # 端口

    port=3306

    # 运行用户

    user=mysql

    # 最大连接

    max_connections=200

    socket=/usr/software/mysql/mysql-8.0.21-x64/data/tmp/mysql.sock

    # mysql 安装目录(解压后文件的目录)

    basedir=/usr/software/mysql/mysql-8.0.21-x64

    # 数据目录

    datadir=/usr/software/mysql/mysql-8.0.21-x64/data

    pid-file=/usr/software/mysql/mysql-8.0.21-x64/data/mysql.pid

    init-connect='SET NAMES utf8'

    character-set-server=utf8mb4

    # 数据库引擎

    default-storage-engine=INNODB

    log_error=/usr/software/mysql/mysql-8.0.21-x64/data/error.log

    slow_query_log_file=/usr/software/mysql/mysql-8.0.21-x64/data/mysql-slow.log

    [mysqldump]

    quick

    max_allowed_packet=16M

    EOF

    2.6.12 启动服务

    (1)开启服务

    提示 Starting MySQL SUCCESS! 即启动成功

    service mysqld start 

    (2)停止服务

    service mysqld stop 

    (3)重启服务

    service mysqld restart 

    2.7 登录mysql

    使用临时密码登录“3ZG6a.UkEa_-”,个人生成的密码不一

    ./bin/mysql -u root -p

    2.8 修改root密码

    修改后刷新

    ALTER USER 'root'@'localhost' IDENTIFIED BY 'jmy123456';

    flush privileges; 

    2.9 开启mysql的远程访问权限

    2.9.1  验证root用户是否允许远程登录

    (1)退出登录

    exit

    (2)验证linux是否允许mysql远程登录

    mysql -uroot -pjmy123456 -h 192.168.233.150

    ERROR 1130 (HY000): Host 'jmyLinux' is not allowed to connect to this MySQL server这个错误说明无法远程连接,若可以连接,则无需做下面的操作

    2.9.2 设置远程访问权限

    (1)使用root用户登录

    mysql -uroot -pjmy123456

    (2)选择root用户下的mysql数据库

    use mysql

    (3)设置能访问root用户的ip

    a. 将host设置为%表示任何ip都能连接mysql,也可指定为某个特定ip

    update user set host='%' where user='root' and host='localhost';

    b. 查看用户表验证是否添加成功,查询结果出现第一行的数据表示修改成功

    select user, host from user;

    (4)授权给root用户

    GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'jmy123456' WITH GRANT OPTION;

    这里报了ERROR 1064 (42000)的错误,这里是因为版本的原因,并且root用户也已经存在,不需要在命令新建,8版本以后的mysql必须分两步来实现设置用户权限

    a. 先创建用户

    若需要授权的用户存在则不需要创建

    select user from user;

    若需要授权的用户不存在则用下面语句创建

    create user 'root'@'%' identified by 'jmy123456';

    identified by:连接时输入密码,密码为jmy123456

    b. 对该用户分配用户权限

    grant all privileges on *.* to 'root'@'%' with grant option;

    grant:赋权命令 

    all privileges:当前用户的所有权限

    on:介词

    *.*:当前用户对所有数据库和表的相应操作权限

    to:介词

    ‘root’@’%’:权限赋给root用户,所有ip都能连接

    with grant option:允许级联赋权

    (5)刷新访问权限表,重要!!!

    flush privileges;

    2.9.3  验证root用户是否允许远程登录

    (1)退出登录

    exit

    (2)验证linux是否允许mysql远程登录

    mysql -uroot -pjmy123456 -h 192.168.233.150

    2.10 在window使用Navicat链接linux的mysql(Navicat,mysql不在同一台服务器上)

    2.10.1 开启mysql的远程访问权限

    上面已经完成这步

    2.10.2 防火墙开放3306及80端口

    在CentOS7以上,防火墙的管理由friewail来管理,这里介绍CentOS7以上版本,以3306端口为例

    若没有firewall插件需要先安装插件:

    yum install firewalld firewalld-config

    (1)查看防火墙3306端口是否开放

    firewall-cmd --query-port=3306/tcp

    (2)开放防火墙端口3306和80端口

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

    firewall-cmd --zone=public --add-port=80/tcp --permanent

    (3)生效配置

    firewall-cmd --reload 

    (4)查看开放的端口列表

    firewall-cmd --zone=public --list-ports

    (5)重启防火墙

    systemctl restart firewalld.service

    2.10.3 使用navicat链接linux下的mysql

    相关文章

      网友评论

        本文标题:Linux(centos)环境配置-mysql8.0.21(二)

        本文链接:https://www.haomeiwen.com/subject/ytrvnktx.html