Centos7安装mysql8

1.先安装mysql-server,下载安装包

下载地址从这里找:MySQL :: Download MySQL Yum Repositoryhttps://dev.mysql.com/downloads/repo/yum/

wget https://dev.mysql.com/get/mysql80-community-release-el7-6.noarch.rpm

2.开始安装

rpm -ivh mysql80-community-release-el7-3.noarch.rpm

yum install mysql mysql-server

如果出现GPG key retrieval failed
cd /etc/yum.repos.d
vim mysql-community.repo

找到下面这一段
[mysql80-community]
name=MySQL 8.0 Community Server
baseurl=http://repo.mysql.com/yum/mysql-8.0-community/el/7/$basearch/
enabled=1
gpgcheck=1(把此处的1改为0,wq保存,然后重新执行yum install mysql mysql-server)
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql 

3.启动mysql并设置开机自启动

4.再安装mysql

sudo mysql_secure_installation

#查看刚启动的mysql-server root账号的临时密码,并记下来
grep ‘temporary password’ /var/log/mysqld.log

#安全模式配置mysql 根据提示输入mysql-server root账号临时密码,删除匿名账号,test账号,
#禁用root远程连接mysql server 直至结束 all done!
mysql_secure_installation

MySQL :: Download MySQL Community Serverhttps://dev.mysql.com/downloads/mysql/下载mysql

 

cd /usr

#下载mysql linux安装包
wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.29-linux-glibc2.12-x86_64.tar.xz

#解压
tar -Jxf mysql-8.0.29-linux-glibc2.12-x86_64.tar.xz
#重命名文件夹
mv mysql-8.0.29-linux-glibc2.12-x86_64 mysql

 2.使用mysql重启mysqld服务

#停掉mysqld服务
service mysqld stop

#创建 /data/mysql/data 备用
mkdir /data
cd /data
mkdir mysql
cd mysql
mkdir data

#创建mysql用户组,mysql数据库用户
groupadd mysql
useradd -s /sbin/nologin mysql -M

#给mysql这个用户足够的文件读写权限
chown -R mysql:mysql /usr/mysql
chown -R mysql:mysql /data/mysql
chown -R mysql:mysql /data/mysql/data

chmod -R -775 /usr/mysql
chmod -R -775 /data/mysql
chmod -R -775 /data/mysql/data

#修改数据库配置文件 /etc/my.cnf
[mysqld]
#设置3306端口#port=3306
port=3306
user=mysql
#设置mysql的安装目录
basedir=/usr/mysql
#设置mysql数据库的数据的存放目录
datadir=/data/mysql/data
#允许最大连接数
max_connections=2000
#允许连接失败的次数。
max_connect_errors=10
#服务端使用的字符集默认为
character-set-server=utf8mb4
collation-server=utf8mb4_general_ci
#创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
#默认使用“mysql_native_password”插件认证#mysql_native_password#
default_authentication_plugin=mysql_native_password
lower_case_table_names=1
max_allowed_packet=16M
socket=/data/mysql/mysql.sock
log-error=/data/mysql/error.log
pid-file=/data/mysql/mysql.pid
transaction_isolation=REPEATABLE-READ
sql_mode=STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION,NO_ZERO_DATE,NO_ZERO_IN_DATE,ERROR_FOR_DIVISION_BY_ZERO
[mysql]
#设置mysql客户端默认字符集
default-character-set=utf8mb4
[client]
#设置mysql客户端连接服务端时默认使用的端口
port=3306
socket=/data/mysql/mysql.sock
default-character-set=utf8mb4

#wq保存

#初始化数据库
cd /usr/mysql
./bin/mysqld --initialize --user=mysql
#重新启动mysql-server
./support-files/mysql.server start

3.配置mysql开机启动

#配置service mysql start命令可执行
cp /usr/mysql/support-files/mysql.server /etc/init.d/mysql

#配置开机启动
cd /etc/init.d
chmod 755 /etc/init.d/mysql
chkconfig --add mysql
chkconfig --level 345 mysql on
service mysql restart

#查看初始密码
less /data/mysql/error.log
/password 查看初始密码

#登陆mysql
mysql -u root -p 根据提示输入密码

#mysql8.0以后使用下面方法修改root密码
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';

use mysql
#修改root账号可以以任何ip连接mysql
update user set host='%' where user='root';
#给root账号添加权限
grant all privileges on *.* to 'root'@'%';
//清理空间
flush privileges;
quit;

#到这里所有mysql的设置都已经完成了,接下来是防火墙相关,如果你不想关闭防火墙,可以选择开放3306端口

修改相关文件
yum -y install iptables-services
$vi /etc/sysconfig/iptables
增加规则
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
$systemctl restart iptables.service #重启防火墙使配置生效

这里我选择的是直接关闭防火墙…
$systemctl stop firewalld.service #停止firewall
$systemctl disable firewalld.service #禁止firewall开机启动


版权声明:本文为y13460108531原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。