环境准备
1.由于Centos7自带Mariadb,卸载
# rpm -qa|grep mariadb
找到了就卸载
rpm -e --nodeps 查询得到的名称
2、删除 /etc/my.cnf. 不一定会存在。怕起冲突,最好还是删除
# rm /etc/my.cnf
下载安装包
wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.20-linux-glibc2.12-x86_64.tar.xz
安装步骤
1、解压
tar -xvf mysql-8.0.20-linux-glibc2.12-x86_64.tar.xz
2 、移动到 usr/local/目录下,没有mysql目录会自动创建
mv mysql-8.0.20-linux-glibc2.12-x86_64 /usr/local/mysql
3、修改配置文件
vim /etc/my.cnf
修改mysql配置,下面路径选你自己安装路径,全部Copy进去
[mysql_safe]
# modify
log-error=/var/log/mysql/mysql-error.log
# modify
pid-file=/var/run/mysql/mysql.pid
#
# include all files form the config directory
#
!includedir /etc/my.cnf.d
[mysqld]
# 修改为自己mysql的根目录
basedir=/usr/local/mysql
# modify 修改为自己mysql根目录下的data目录,不存在也不要紧
datadir=/usr/local/mysql/data
# socket=/var/lib/mysql/mysql.sock
socket=/tmp/mysql.sock
# pid-file=/usr/local/mysql/tmp/mysql.pid
symbolic-links=0
# new 设置用户使用mysql
user=mysql
# new 缓存连接数
back_log=200
# new 最大连接数
max_connections=500
# new 使用mysql_native_password插件认证,否则native连不上,会提示需要升级版本
default_authentication_plugin=mysql_native_password
# new 服务端使用的字符集默认为UTF8
character-set-server=utf8mb4
# new 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# new
[mysql]
# new 设置字符编码为utf8mb4
default-character-set=utf8mb4
[client]
# new 其实是废的,需要改端口时才有用
port=3306
# new 设置字符编码为utf8mb4
default-character-set=utf8mb4
打开文件后,按 a、i、o 都可以进入编辑模式
:wq #保存并退出
创建mysql用户
打开终端,在任意目录下执行下面命令
groupadd mysql
useradd -g mysql mysql
更改目录权限
修改文件夹权限
chown -R mysql:mysql /usr/local/mysql
chmod -R 755 /usr/local/mysql
初始化mysql
切换到mysql的bin目录下
cd /usr/local/mysql/bin
执行mysql初始化命令
./mysqld --initialize
此处如果遇到
./mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory
说明没有安装libaio.so.1,安装即可
yum install libaio
或者出现
mysqld: Can't read dir of '/etc/my.cnf.d' (OS errno 2 - No such file or directory)
mysqld: [ERROR] Fatal error in defaults handling. Program aborted!
说明没有创建my.cnf.d文件,创建即可
mkdir /etc/my.cnf.d/
安装完毕后会出现初始密码
需要牢记密码。
注意!在此之前不要手动创建data文件夹,否则会出现data已存在,初始化失败的情况。如果创建了或者已经初始化过但失败了,可以删除data文件夹重新初始化。
设置环境变量
vim /etc/profile
在文件末尾新增
MYSQL_HOME=/usr/local/mysql/bin
PATH=$PATH:MYSQL_HOME
使修改的文件配置生效
source /etc/profile ##使更改的配置立即生效
添加开机自启动
ln -s /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
ln -s /usr/local/mysql/bin/mysql /usr/bin/mysql
启动MYSQL服务
service mysql start #启动mysql
登陆MYSQL
mysql -u root -p
输入刚刚的密码
修改密码
ALTER USER "root"@"localhost" IDENTIFIED BY "你的新密码";
FLUSH PRIVILEGES; #配置生效
修改公网访问
use mysql;
update user set host='%' where user ='root';
FLUSH PRIVILEGES; #配置生效
设置防火墙
#检查是否有或者是否开启firewalld
systemctl status firewalld
#开启防火墙
systemctl start firewalld
# 设置开机启动
systemctl enable firewalld
#设置3306为永久开放
firewall-cmd --add-port=3306/tcp --permanent
#重启生效
firewall-cmd --reload