记录:302
场景:使用tar命令解压.tar.gz压缩包方式,在CentOS 7.9操作系统安装MySQL 5.7.36数据库。内容包括MySQL的安装、启动、登录以及基础应用。
基础环境:
操作系统:CentOS 7.9
MySQL版本:MySQL 5.7.36
1.MySQL安装说明
基础规划信息。
1.1 MySQL安装包与驱动包
安装包:mysql-5.7.36-linux-glibc2.12-x86_64.tar.gz
JDBC驱动包:mysql-connector-java-5.1.49.jar
1.2 MySQL安装方式
使用tar命令方式安装MySQL。
1.3用户名和用户组规划
用户组:dmysql
用户名:dmysql
1.4目录规划
MySQL安装目录:/home/apps/module/mysql
1.5下载地址
官网:https://www.mysql.com/downloads/
1.6操作说明
本例标明:root用户操作,是系统root用户操作。
本例标明:dmysql用户操作,是dmysql用户操作。
其它没有标明:是dmysql用户操作。
2.用户名和用户组(root用户操作)
2.1查看用户名和用户组
2.1.1查看用户名和用户组
查看指令:cat /etc/group
2.1.2文件group内容格式解析
在group文件内容格式解析:
组名:口令:组标识号:组内用户列表
2.1.3查看组密码
查看组密码指令:cat /etc/passwd
2.1.4搜索指令
搜索指令:cat /etc/group | grep dmysql
2.2创建用户组和用户
2.2.1创建用户组
创建用户组指令:groupadd dmysql
2.2.2创建用户名
创建用户名指令:useradd -g dmysql dmysql -d /home/dmysql
2.2.3修改登录密码
修改密码指令:passwd dmysql 12345678
修改密码格式:passwd 用户名 密码
2.2.4指令执行情况
2.3普通用户赋权
功能:在普通用户使用sudo指令,可以执行root权限执行的指令。
2.3.1查看用户sudoers权限
查看指令:cat /etc/sudoers
2.3.2配置sudoers权限
需改指令:vi /etc/sudoers
修改内容,新增一行:
dmysql ALL=(ALL) ALL
注意:修改sudoers退出时,使用wq!,保存才保存退出生效。
3.卸载自带Mariadb和已安装MySQL(root用户操作)
MariaDB是MySQL源代码的一个分支。MariaDB是一个社区驱动的、采用XtraDb存储引擎的MySQL分支版本,由MySQL创始人Michael Widenius带领开发,遵循GPL v2.0协议开源。
3.1卸载系统自带mariadb
3.1.1查找mariadb
查找指令rpm方式:rpm -qa|grep mariadb
查找指令yum方式:yum list installed | grep mariadb
查出结果:mariadb-libs-5.68-1.el7.x86_64
3.1.2卸载mariadb
卸载指令:rpm -e --nodeps mariadb-libs-5.5.68-1.el7.x86_64
3.1.3删除mariadb的my.cnf配置
删除指令:rm -rf /etc/my.cnf
3.2卸载已经安装的MySQL
3.2.1查找已安装MySQL
查找指令rpm方式:rpm -qa|grep mysql
查找指令yum方式:yum list installed | grep mysql
3.2.2使用find和whereis查找
find查看指令:find / -name mysql
whereis查看指令:whereis mysql
3.2.3删除相关文件
删除指令:rm -rf /etc/selinux/targeted/active/modules/100/mysql
删除指令:rm -rf /usr/lib64/mysql
4.解压安装
4.1上传安装包(root用户操作)
使用Xftp把安装包上传到指定目录。
安装包存放目录:/home/apps/module/
4.2解压安装包(root用户操作)
操作目录:/home/apps/module
解压指令:tar -zxvf mysql-5.7.36-linux-glibc2.12-x86_64.tar.gz
注意:使用.tar.gz包是免安装版本,直接配置即可。
tar -zxvf说明:
-z:调用.gz格式的工具进行处理。
-j:调用.bz2格式的工具进行处理。
-J:调用.xz格式的工具进行处理。
-x:释放归档。
-v:显示指令执行过程。
-f:指定归档文件名称。
4.3重命名目录名(root用户操作)
重命名:mv mysql-5.7.36-linux-glibc2.12-x86_64 mysql
全路径:/home/apps/module/mysql
4.4更改用户组和用户权限(root用户操作)
用户名和用户组:chown -R dmysql:dmysql /home/apps/module/mysql
权限修改:chmod -R 755 /home/apps/module/mysql
说明:chown -R指定目录以及其子目录下的所有文件。
说明:第一位表示文件类型。d是目录文件,l是链接文件,-是普通文件,p是管道。
说明:权限分为三种:读(r=4),写(w=2),执行(x=1)。
第一个数字,表示文件所有者的权限。
第二个数字,表示与文件所有者同属一个用户组的其他用户的权限。
第三个数字,表示其它用户组的权限。
使用dmysql用户操作
4.5修改MySQL配置(dmysql用户操作)
4.5.1配置文件全路径
配置文件全路径:/etc/my.cnf
4.5.2查看配置文件
查看配置:cat /etc/my.cnf
4.5.2修改配置文件
编辑文件:sudo vi /etc/my.cnf
修改内容:
[mysql]
default-character-set=utf8
[mysqld]
port=3306
basedir=/home/apps/module/mysql
datadir=/home/apps/module/mysql/data
max_connections=5000
character-set-server=utf8
default-storage-engine=INNODB
default-time_zone='+8:00'
lower_case_table_names=1
4.6初始化MySQL配置(dmysql用户操作)
4.6.1初始化操作目录
操作目录:cd /home/apps/module/mysql/bin
4.6.2初始化指令
初始化指令:
./mysqld --initialize --user=dmysql --datadir=/home/apps/module/mysql/data --basedir=/home/apps/module/mysql
4.6.3生成初始化密码
初始化密码:bnY!fmwfF8-o
需记录初始化密码,在首次登录是需要使用。
4.6.4初始化执行情况
5启动MySQL
5.1查看MySQL是否启动
服务查询指令:ps -ef| grep mysql
端口查询指令:netstat -na | grep 3306
注意:如果netstat不可用,则先安装net-tools工具。
安装net-tools工具指令:yum -y install net-tools.x86_64
5.2启动MySQL服务
操作目录:cd /home/apps/module/mysql/support-files
5.2.1启动服务
启动指令:./mysql.server start
5.2.2查看端口
查看端口指令:netstat -na | grep 3306
5.2.3查看进程
查看进程指令:ps -ef|grep mysql
5.2.4启动成功
启动成功和端口监听成功。
5.3重启服务
重启指令:./mysql.server restart
5.3停止服务
停止指令:./mysql.server stop
5.4设置便捷启动
每次启动都需进入目录:/home/apps/module/mysql/support-files操作,比较不方便,因此,需设置便捷启动。
操作目录:/home/apps/module/mysql/support-files
5.4.1设置便捷启动(root用户操作)
配置便捷启动在root操作。
5.4.1.1拷贝mysql.server到init.d目录
拷贝mysql.server到init.d目录后,重名为mysqld。
拷贝指令:
cp /home/apps/module/mysql/support-files/mysql.server /etc/rc.d/init.d/mysqld
5.4.1.2赋权mysqld可执行
如果mysqld为不可执行,则执行赋权指令。
赋权指令:chmod +x /etc/rc.d/init.d/mysqld
5.4.2便捷启动指令
在dmysql用户下,任何目录均可执行。
5.4.2.1启动MySQL
启动指令:service mysqld start
5.4.2.2重启MySQL
重启指令:service mysqld restart
5.4.2.3停止MySQL
停止指令:service mysqld stop
5.4.3设置开机自启动(root用户操作)
系统启动,就会启动MySQL
5.4.3.1添加mysqld到服务列表
添加指令:chkconfig --add mysqld
5.4.3.2查看服务列表
查看指令:chkconfig --list mysqld
5.4.3.3查看服务状态
查看指令:systemctl status mysqld
5.4.3.4配置开启开机自启动
配置指令:chkconfig --level 2345 mysqld off
5.4.3.5配置关闭开机自启动
配置指令:chkconfig --level 2345 mysqld on
6登录MySQL
6.1创建MySQL登录指令软链接
6.1.1查看MySQL登录指令软链接
查看指令:ll /usr/bin/ | grep mysql
6.1.2创建MySQL登录指令软链接(root权限)
创建指令:ln -s /home/apps/module/mysql/bin/mysql /usr/bin/mysql
注意:系统默认查看/usr/bin/命令,建立软链接。
6.1.3创建MySQL登录指令软链接原因
不在/usr/bin/创建软连接,那么执行登录需在/home/apps/module/mysql/bin/目录执行,否则报错。
执行指令:mysql -u root -p
报错信息:-bash: mysql: command not found
6.2首次登录
6.2.1首次登录目录
操作目录:/home/apps/module/mysql/bin
当配置软链接后,任意目录可启动。
6.2.2首次登录
登录指令:mysql -u root -p
首次登录密码:bnY!fmwfF8-o
6.3修改密码
登录成功后,立即修改密码。
修改指令:set password for root@localhost = password('12345678');
6.4开放root用户远程连接
6.4.1设置开放远程连接
切换数据库指令:use mysql;
开放远程连接指令:update user set user.Host='%' where user.User='root';
刷新指令:flush privileges;
6.4.2远程连接验证
IP地址:192.168.19.160
端口:3306
用户名/口令:root/12345678
7应用MySQL
7.1创建MySQL数据库和用户
数据库名称:bigdatadb。
数据库用户:bigdata。
7.1.1创建数据库
创建数据库指令:CREATE DATABASE bigdatadb DEFAULT CHARACTER SET utf8;
7.1.2创建用户
创建用户指令:CREATE USER bigdata@localhost IDENTIFIED BY '12345678';
7.2开放普通用户远程连接
切换数据库:use mysql;
开放远程连接指令:update user set user.Host='%' where user.User='bigdata';
刷新权限指令:flush privileges;
7.3授权用户访问指定数据库
7.3.1数据库授权
数据库全量表全部权限,授权给指定用户。
7.3.1.1数据库授权
授权指令:grant all privileges on bigdatadb.* to bigdata@'%' identified by '12345678';
7.3.1.2刷新权限
刷新指令:flush privileges;
7.3.1.3在数据库查看信息
查看指令:select * from mysql.user;
7.3.1.4句法解析
bigdatadb.*,授权数据库bigdatadb的所有表。
bigdata@'%',授权用户bigdata对所有IP开放。
7.3.2数据库表授权
把cdhdb的表sys_user_hz授权给bigdata用户。
7.3.2.1数据库表授权
表授权指令:grant select,insert,update,delete on cdhdb.sys_user_hz TO bigdata@'%';
7.3.2.2刷新权限
刷新指令:flush privileges;
7.3.2.3在数据库查看信息
查看指令:select * from mysql.tables_priv;
7.3.2.4句法解析
说明:cdhdb.sys_user_hz,把数据库cdhdb的表sys_user_hz授权给bigdata用户,只包括select,insert,update,delete权限。
7.3.3数据库字段授权
把cdhdb的表sys_user_bj的指定字段授权给bigdata用户。
7.3.3.1数据库字段授权
字段授权指令:grant select(user_id,username) on cdhdb.sys_user_bj to bigdata@'%';
7.3.3.2刷新权限
刷新指令:flush privileges;
7.3.3.3在数据库查看信息
查看指令:select * from mysql.columns_priv;
7.3.3.4句法解析
说明:select(user_id,username)把cdhdb.sys_user_bj表字段(user_id,username)查询权限授权给bigdata用户。
7.4查看用户和数据库
查看用户指令:select * from mysql.user;
查看数据库:SHOW DATABASES;
7.5修改用户密码
7.5.1修改密码两种方式
本地连接修改指令:set password for bigdata@localhost = password('12345678');
远程连接修改指令:set password for bigdata@'%'= password('12345678');
7.5.2句法解析
bigdata@localhost,用户bigdata对localhost开放。
bigdata@'%',用户bigdata对所有IP开放。
7.5.3使用SQL查看用户开放连接状态
查看指令:select * from mysql.user;
7.6用户、访问主机、数据库、表以及表字段权限关系
7.6.1查看访问主机和用户关系
查看指令:select * from mysql.user;
7.6.2用户和数据库关系
查看指令:select * from mysql.db;
7.6.3用户访问某库指定表权限
查看指令:select * from mysql.tables_priv;
7.7设置密码不过期
7.7.1设置密码不过期
设置指令:update mysql.user set password_expired='N' where password_expired='Y';
7.7.2查看密码不过期
查看指令:select * from mysql.user;
以上,感谢。
2022年10月26日