Linux

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

2020-12-30  本文已影响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

上一篇下一篇

猜你喜欢

热点阅读