CentOS 7.4安装MySql 8.0.13及配置

https://dev.mysql.com/downloads/mysql/ 官网的社区版的下载地址

最终的下载地址是https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-8.0.13-1.el7.x86_64.rpm-bundle.tar

直接下载的话比较慢,所以我用迅雷下载到了本地,然后再用终端传到CentOS

首先,检查一下下载的文件的完整性,从终端进到下载的目录,然后使用命令计算md5值

md5sum mysql-8.0.13-1.el7.x86_64.rpm-bundle.tar

计算结果显示与下载列表里面的md5值一致。

在/usr下新建mysql文件夹

cd /usr

mkdir mysql

cd mysql

接下来用下面命令传到CentOS

scp -P 22 /Users/florentino/Downloads/mysql-5.7.20-1.el7.x86_64.rpm-bundle.tar [email protected]:/usr/mysql

这里的ip地址和路径按需配置,之后输入密码,正确的话就开始传输,接着解压文件

tar -xvf mysql-8.0.13-1.el7.x86_64.rpm-bundle.tar

mysql与自带的mariadb有冲突,先卸载mariadb

rpm -qa | grep mariadb 列出系统上的组件

我这里是显示的如下版本

mariadb-libs-5.5.56-2.el7.x86_64

卸载之

[root@Develop mysql]# rpm -e --nodeps mariadb-libs-5.5.56-2.el7.x86_64

再列出系统上的组件版本,已经不存在了

接下来,要安装四个rpm文件,依次是

rpm -i mysql-community-common-8.0.13-1.el7.x86_64.rpm

rpm -i mysql-community-libs-8.0.13-1.el7.x86_64.rpm

rpm -i mysql-community-client-8.0.13-1.el7.x86_64.rpm

rpm -i mysql-community-server-8.0.13-1.el7.x86_64.rpm

我在安装server的时候报错了,缺少依赖,分别安装依赖

yum install perl 

yum install net-tools

yum install perl-JSON.noarch

yum install "perl(Data::Dumper)"

再装server的rpm就行了

安装完成,可以先修改一下/etc/my.cnf配置,一般来说会修改一下mysql的data的保存路径,我本地的系统在/home下挂有大硬盘,所以在配置文件里修改datadir=/home/data/mysql。

先在/home下新建目录data,cd /home,mkdir data,

复制原路径的data 数据

cp -R  /var/lib/mysql      /home/data/mysql

chow -Rf mysql:mysql /home/data/mysql

chmod -R 755 /home/data/mysql 

关闭 SELinux,打开 /etc/selinux/config,把 SELINUX=enforcing 改为 SELINUX=disabled 后保存退出

setenforce 0 #使配置立即生效

运行,[root@Develop mysql]# service mysqld start

Redirecting to /bin/systemctl startmysqld.service

新版的mysql在安装的时候会生成一个临时的密码,获取方式是

cat /var/log/mysqld.log|grep -n password

接着登陆mysql

mysql -u root -p

输入刚才查看到的密码,登陆成功,然后修改root密码

alter user 'root'@'localhost'IDENTIFIED BY 'MyNewPass';

接着授权远程登录,mysql8.0无法给用户授权或提示You are not allowed to create a user with GRANT,5.7那一套办法已经不行了,跟我来。

提示意思是不能用grant创建用户,mysql8.0以前的版本可以使用grant在授权的时候隐式的创建用户,8.0以后已经不支持,所以必须先创建用户,然后再授权,命令如下:

mysql> CREATE USER 'root'@'%' IDENTIFIED BY 'Hadoop3!';

Query OK, 0 rows affected (0.04 sec)

mysql> grant all privileges on *.* to 'root'@'%';

Query OK, 0 rows affected (0.03 sec)

另外,如果远程连接的时候报plugin caching_sha2_password could not be loaded这个错误,可以尝试修改密码加密插件:

mysql> alter user 'root'@'%' identified with mysql_native_password by 'Hadoop3!';

systemctl restart mysqld

防火墙打开3306端口

firewall-cmd --zone=public --add-port=3306/tcp --permanent

重启防火墙

firewall-cmd --reload

///修改默认字符集

character-set-server=utf8

init_connect='SET NAMES utf-8'

sql_mode='NO_ENGINE_SUBSTITUTION'

max_allowed_packet=1024M

在/etc/my.cnf下面加上这三个,然后重启mysql服务

有时候新闻过长,导致内容过大,要设置

set global max_allowed_packet=524288000;

直接在navicat里面运行查询就行

你可能感兴趣的:(CentOS 7.4安装MySql 8.0.13及配置)