本文的CentOS系统版本:CentOS 8.0 1905
MySQL版本:mysql-8.0.18
准备
首先,防火墙配置
CentOS使用防火墙作为7.x的默认防火墙,这里将其更改为iptables防火墙。
1.关闭防火墙:
systemctl stop firewalld.service#停止防火墙
systemctl disable firewalld.service#禁止防火墙启动
systemctl掩码firewalld
systemctl停止firewalld
yum删除firewalld
2,安装iptables防火墙
yum install iptables-services #install
vi/etc/sysconfig/iptables#编辑防火墙配置文件,开发mysql默认端口3306
#iptables服务的示例配置
#您可以手动编辑此命令或使用system-config-firewall
#请不要要求我们在此默认配置中添加其他端口/服务
*过滤器
:输入接受[0:0]
:正向接受[0:0]
:输出接受[0:0]
-A输入-m状态与状态相关的已建立-j接受
-A输入-p icmp-j接受
-A输入-i lo-j接受
-A输入-p tcp-m状态-状态NEW-m tcp–dpor t 22-j接受
-A输入-p tcp-m状态–state新-m tcp-dport 3306-j接受
-A输入-j拒绝-拒绝icmp主机禁止
-A转发-j拒绝-拒绝icmp主机禁止
提交
:wq! #保存并退出
systemctl restart iptables.service#最后重新启动防火墙以使配置生效
systemctl enable iptables.service#设置防火墙启动
/usr/libexec/iptables/iptables.init restart#重新启动防火墙
其次,关闭SELINUX
vi/etc/se linux/config
#SELINUX =强制执行#Comment out
#SELINUXTYPE =目标#Comment out
SELINUX =已禁用#Add
:wq! #保存并退出
setenforce 0#使配置立即生效
三,系统位置设置
软件源代码包存储位置:/usr/local/src
源码包的编译和安装位置:/usr/local/软件名称
四,下载软件包
1,mysql
https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-8.0.18.tar.gz
2 。rpcsvc-proto #CentOS 8是编译和安装MySQL8所必需的
https://github.com/thkukuk/rpcsv c-proto/版本/下载/v1.4/rpcsvc-proto-1.4。 tar.gz
3,boost_1_70_0 #CentOS 8需要编译和安装MySQL8
https://dl.bintray.com/boostorg/release/1.70.0/source/boost_1_70_0.tar.gz
4,cmake#需要编译并安装MySQL
https://github.com/Kitware/CMake/版本/下载/v3.15.4/cmake-3.15.4.tar.gz
第五,安装编译工具和库文件(使用yum命令安装)
yum install apr * autoconf automake bison bzip2 bzip2 * cpp curl curl-devel fontconfig fontconfig-devel freetype-devel gcc gcc-c ++ gd gd-devel gettext gettext-devel glibc内核内核头文件keyutils keyutils-libs-devel krb5-devel libcom_err-devel libpng libpng-devel libjpeg * libsepol-devel libselinux-devel libstdc ++-devel libtool * libgomp libxml2 libxml2-devel libXpm * libxml * libXaw-devel libXmu-devel libtiff libtiff * make openssl openssl-devel patch pcre-devel perl php-common php-gd policycoreutils telnet wget zlib-devel ncurses-devel libtirpc-devel gtk * ntpstat na *野牛*
开始安装
以下是使用油灰工具远程登录Linux服务器。
首先,安装MySQL
1,安装rpcsvc-proto
cd/usr/local/src
tar zxvf rpcsvc-proto-1.4.tar.gz
cd rpcsvc-proto-1.4
http://www.5sharing.com/m/configure
make
进行安装
2.安装cmake
cd/usr/local/src
tar zxvf cmake-3.15.4.tar.gz
cd cmake-3.15.4
http://www.5sharing.com/m/configure
make
make install
3.安装MySQL
cd/usr/local/src
mkdir-p/usr/local/boost
cp boost_1_70_0。 tar.gz/usr/local/boost
groupadd mysql #add mysql group
useradd-g mysql mysql-s/bin/false#创建用户mysql并加入mysql组,不允许mysql用户直接登录到系统
mkdir-p/data/mysql#创建一个MySQL数据库存储目录
chown-R mysql:mysql/data/mysql #设置MySQL数据库存储目录权限
mkdir-p/usr/local/mysql#创建MySQL安装目录
cd/usr/local/src#输入软件包存储目录
tar zxvf mysql-8.0.18.tar.gz#解压缩
cd mysql-8.0.18#输入目标
cmake。-DCMAKE_INSTALL_PREFIX =/usr/本地/mysql-DINSTALL_DATADIR =/数据/mysql-DMYSQL_USER = mysql-DMYSQL_UNIX_ADDR =/tmp/mysqld.sock-DDEFAULT_CHARSET = utf8-DDEFAULT_COLLATION_INNO_ENGE-D1IND = 1D-EDDIN_CED_EDE_DANCED_IND_EED_CED_EDE_DANCED 1-DEXTRA_CHARSETS =全部-DWITH_BOOST =/usr/local/boost
make #compile
make install #install
rm-rf/etc/my。 cnf \nbsp; #删除系统默认配置文件(如果没有默认配置,请不要删除)
cd/usr/local/mysql#输入MySQL安装目录
http://www.5sharing.com/m/bin/mysqld–user = mysql–initialize–basedir =/usr/local/mysql–datadir =/data/mysql#生成mysql系统数据库
-initialize意味着默认情况下生成密码,–initialize-insecure表示不生成密码,密码为空。
#参见此行[Note] [MY-010454] [Server]为root @ localhost生成一个临时密码:! w1YKyVFFa?-
记录自动生成的mysql管理员root帐户登录密码! W1YKyVFFa?-
vi/usr/local/mysql/my.cnf\\u0026nbsp; #mysql 8.x默认没有配置文件,我们自己创建一个。
[客户端]
端口= 3306
套接字=/tmp/mysql.sock
[mysqld]
端口= 3306
用户= mysql
套接字=/tmp/mysql.sock
tmpdir =/tmp
key_buffer_size = 16M
max_allowed_packet = 128M
default_authentication_plugin = mysql_native_password#将加密方法设置为mysql_native_password,MySQL 8.0默认使用cache_sha2_password加密。
open_files_limit = 60000
explicit_defaults_for_timestamp
server-id = 1
字符集服务器= utf8
联邦
max_connections = 1000
max_connect_errors = 100000
Interactive_timeout = 86400
wait_timeout = 86400
sync_binlog = 0
back_log = 100
default-storage-engine = InnoDB
log_slave_updates = 1
[mysqldump]
快速
[客户端]
#以下密码将发送到所有标准MySQL客户端
password = \ quot;我的密码”
[mysqld-8.0]
sql_mode = TRADITIONAL
[mysqladmin]
强制
[mysqld]
key_buffer_size = 16M
:wq! #保存并退出
ln-s/usr/local/mysql/my.cnf/etc/my.cnf\\u0026nbsp; #添加到/etc目录中的软链接
cp/usr/local/mysql/support-files/mysql.server/etc/rc.d/init.d/mysqld#将Mysql添加到系统启动
chmod 755/etc/init.d/mysqld#增加执行权限
chkconfig mysqld on#添加启动启动
vi/etc/rc.d/init.d/mysqld #edit
basedir =/usr/local/mysql #MySQL程序安装路径
datadir =/data/mysql #MySQl数据库存储目录
:wq! #保存退出
服务mysqld start#开始
vi/etc/profile#将mysql服务添加到系统环境变量中:在末尾添加以下行
export PATH = $ PATH:/usr/local/mysql/bin
:wq! #保存并退出
源/etc/profile#使配置立即生效
以下两行将myslq库文件链接到系统的默认位置,以便您编译诸如PHP的软件时,无需指定mysql库文件地址。
ln-s/usr/local/mysql/lib/mysql/usr/lib/mysql
ln-s/usr/local/mysql/include/mysql/usr/include/mysql
mkdir/var/lib/mysql#创建目录
ln-s/tmp/mysql.sock/var/lib/mysql/mysql.sock#添加软链接
mysql-u root-p \; #输入先前生成的密码! w1YKyVFFa?-,按
ALTER USER” root” @” localhost”由” 123456″标识的密码永远不会过期; #修改密码,永不意味着密码永不过期
ALTER USER” root” @” localhost”用mysql_native_password标识” 123456″密码永不过期; #使用WITH mysql_native_password加密
#MySQL 8.0加密方法从mysql_native_password更改为cache_sha2_password,mysql8.x之前的客户端连接可能报告错误:身份验证插件caching_sha2
刷新权限; #refresh系统授权表
exit #退出mysql控制台
其次,创建一个MySQL数据库,添加用户并授权
数据库名称:www.5sharing.com
数据库用户名:5sharing.com
数据库密码:5sharing
授权5sharing.com用户进行全面操作www.5sharing.com的权限
继续mysql控制台操作
mysql-u root-p#输入刚刚修改的密码12345678,按Enter
2.1,如果不存在则创建数据库www.5sharing.com默认字符集utf8 COLLATE utf8_general_ci; #创建数据库
2.2,创建用户” 5sharing.com” @” localhost”,并由” 5sharing”标识; #创建用户
创建用户” 5sharing.com” @” 127.0.0.1″通过mysql_native_password BY确定ID” 5sharing”; #Encryption方法为mysql_native_password
2.3,在www.5sharing.com上授予所有特权。 *至” 5sharing.com” @” localhost”; #Authorization用户5sharing.com对数据库www.5sharing.com拥有完全操作权限
授予www.5sharing.com上的所有特权。 *发送至” 5sharing.com” @” 127.0.0.1″; #授权用户
将所有特权授予*。 *以GRANT OPTION到” root” @” localhost”; #授权root用户具有所有数据库本地权限
2.4,MySQL5在.7版本之后,必须授权该用户对所有数据库都具有SUPER权限,否则上一步中的用户授权只能被连接但没有任何操作权限。
授予*超级权限。 *到” 5sharing.com” @” localhost”; #Grant用户在所有数据库上都具有SUPER权限,否则他们只能在没有任何操作权限的情况下进行连接。
授予*超级权限。 *发送至” 5sharing.com” @” 127.0.0.1″;
刷新权限; #刷新系统授权表
退出#退出mysql控制台
服务mysqld restart#重新启动mysql数据库
至此,CentOS 8.x已安装MySQL 8.x,并创建一个数据库来添加用户和授权用户。