本文的主要目标分享RHEL7上如何进行MySQL8.0安装和基本使用
6、编辑文件“/etc/profile”为MySQL配置环境,在文件的最后增加下面的内容
9、新建MySQL配置文件“/etc/my.cnf” 并添加以下内容
11、查看初始化的输出日志,确定MySQL的root用户密码
一、环境
1、操作系统版本:RHEL7
2、MySQL版本:8.0.20
二、安装前的准备
1、关闭centos的防火墙
systemctl stop firewalld.service
systemctl disable firewalld.service
systemctl status firewalld.service
2、关闭selinux
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
cat /etc/selinux/config
3、创建MySQL用户和组
#创建MySQL的HOME目录
mkdir -p /home/mysql
#创建mysql组
groupadd mysql
#创建mysql用户,并指定组和默认路径
useradd -r -d /home/oracle -g mysql mysql
#将mysql默认路径的用户和组改成mysql
chown -R mysql:mysql /home/mysql
三、安装MySQL 8.0.20
1、软件包的下载
这里下载的是(mysql-8.0.20-linux-glibc2.12-x86_64.tar.xz)版本
并将软件包复制到/usr/local目录下
2、 解压MySQL安装包
cd /usr/local/
tar -xvf mysql-8.0.20-linux-glibc2.12-x86_64.tar.xz
3、将解压后的MySQL目录进行改名
mv mysql-8.0.20-linux-glibc2.12-x86_64 mysql
4、 设置目录“/usr/local/mysql”的所有者
chown -R mysql:mysql /usr/local/mysql
5、查看MySQL的目录结构
#如果yum已经配置,可以不进行配置
mount /dev/cdrom /mnt
cd /etc/yum.repos.d
mkdir bk
mv *.repo bk/
echo "[EL]" >> rhel7.repo
echo "name=Linux 7.6 DVD" >> rhel7.repo
echo "baseurl=file:///mnt" >> rhel7.repo
echo "gpgcheck=0" >> rhel7.repo
echo "enabled=1" >> rhel7.repo
cat /etc/yum.repos.d/ rhel7.repo
yum -y install tree
tree -d -L 1 /usr/local/mysql
6、编辑文件“/etc/profile”为MySQL配置环境,在文件的最后增加下面的内容
export PATH=$PATH:/usr/local/mysql/bin
7、生效环境变量
source /etc/profile
8、创建MySQL数据目录
#创建数据目录
mkdir /usr/local/mysql/data
#将数据目录的用户和组改成mysql
chown mysql:mysql /usr/local/mysql/data
#更改数据目录的权限
chmod 750 /usr/local/mysql/data
9、新建MySQL配置文件“/etc/my.cnf” 并添加以下内容
[mysqld]
server-id=1
port=3306
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
log-error=/usr/local/mysql/data/error.log
socket=/tmp/mysql.sock
pid-file=/usr/local/mysql/data/mysql.pid
character-set-server=utf8
lower_case_table_names=1
innodb_log_file_size=1G
default-storage-engine=INNODB
default_authentication_plugin=mysql_native_password
[client]
port=3306
default-character-set=utf8
10、初始化MySQL数据库
mysqld --initialize --user mysql
11、查看初始化的输出日志,确定MySQL的root用户密码
cat /usr/local/mysql/data/error.log
四、启动与关闭MySQL数据库
1、启动MySQL数据库
cd /usr/local/mysql/support-files/
./mysql.server start
2、查看MySQL数据库的状态
./mysql.server status
3、配置MySQL数据库的开机自动启动
#复制mysql.server到/etc/init.d目录下
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
#使用chkconfig添加mysqld服务到开机启动列表里
chkconfig --add mysqld
这个时候就可以使用systemctl命令来管理mysql服务了
systemctl status mysqld
4、查看系统配置的开机自启动列表
chkconfig --list
5、关闭MySQL数据库
cd /usr/local/mysqlsupport-files
./mysql.server stop
#关闭mysql也可以使用mysqladmin命令
mysqladmin -uroot -p Welcome_1 shutdown
五、MySQL的连接方式与基本操作/
mysql安装完成后,可以通过多种方式连接数据库
连接方式主要有本地连接,远程连接和安全连接
1、本地连接
第一步输入命令,用error.log中的密码进行登入
mysql -uroot -p
(一开始的密码是error.log中的登入密码)
第二步修改密码
mysql> alter user 'root'@'localhost' identified by 'arkj1234';
第三步设置允许用户root进行远程连接
mysql> create user 'root'@'%' identified by 'arkj1234';
mysql> grant all on *.*to'root'@'%';
mysql> flush privileges;
2、远程连接
创建一个新的用户zwb001,并且允许该用户远程登录后只能操作系统的“”mysql“”数据库
第一步 创建用户“zwb001” 密码为‘arkj1234’
mysql> create user 'zwb001'@'%' identified by 'arkj1234';
第二步 为用户“zwb001”授权
mysql> grant all on mysql.* to ‘zwb001’@’%’;
mysql> flush privileges;
第三步 使用root用户查看系统的“user”表
mysql> use mysql;
mysql> select host,user from user;
第四步 使用root用户查看系统的“db”表
mysql> use mysql;
mysql> select host,user,db from db where user='zwb001';
3、安全连接
MySQL默认的数据通道是不加密的,在一些安全性要求特别高的场景下,需要配置MySQL端口为SSL,使得数据通道加密处理,避免敏感信息泄露和被篡改
当启用了MySQL SSL后,由于每个数据包都需要加密和解密,将对MySQL数据库的性能造成严重影响
默认情况下,MySQL 8 已经启用SSL的安全连接,如果没有启用SSL安全连接,MySQL提供了一个实用程序命令“mysql_ssl_rsa_setup”帮助启用和配置SSL的安全连接以及需要的证书
下面演示如何使用MySQL的SSL安全连
1) 使用mysql的root用户登录,执行status语句检查是否启用SSL
mysql> status;
SSL: not in use 表示没有启用
2) 查看SSL参数状态,查看have_ssl为YES,这表示MySQL已经支持SSL的安全连接
msyql> show variables like '%ssl%';
3) 创建一个用户要求使用SSL
mysql> create user 'zwb002'@'%' identified by 'arkj1234';
msyql> grant all on *.* to 'zwb002'@'%';
mysql> alter user 'zwb002'@'%' require ssl;
4) 查看是否开启强制用户使用ssl
mysql> select user,host,ssl_type,ssl_cipher from mysql.user;
5) 客户端使用‘zwb002’通过ssl安全连接方式连接mysql
mysql --ssl-ca=/usr/local/mysql/data/ca.pem \
--ssl-cert=/usr/local/mysql/data/client-cert.pem \
--ssl-key=/usr/local/mysql/data/client-key.pem \
-uzwb002 -parkj1234
6) 输入密码,执行status查看是否启用的SSL
4、MySQL的数据库基本操作
1、创建数据库
create database xxx; //创建数据库
help create database; //查看创建数据库的帮助
2、连接数据库
use xxx;
3、修改数据库
help alter database;
alter database demo01 default character set utf8 default collate utf8_general_ci;
4、查看数据库
help show database;
5、删除数据库
help drop database;
6、创建表和插入数据