龙空技术网

centos7 安装mysql8

下一站studio 298

前言:

而今大家对“centos644”大体比较注意,兄弟们都想要知道一些“centos644”的相关文章。那么小编在网络上收集了一些有关“centos644””的相关资讯,希望咱们能喜欢,小伙伴们快快来了解一下吧!

一、查看mariadb的相关包并卸

1.使用 rpm -qa | grep mariadb 命令查看;

显示为:mariadb-libs-5.5.56-2.el7.x86_64

2.使用 rpm -e --nodeps mariadb-libs-5.5.56-2.el7.x86_64 命令卸载;

二、安装mysql数据库

1.下载安装文件

下载地址:

mysql8.0版本

后缀件为:mysql-8.0.16-linux-glibc2.12-x86_64.tar.xz,其他8.0版本也可,更具需要选择,并将该文件移动到 /usr/local/目录下。

2.解压缩包,命令,分两步:

第一步,使用xz -d 命令将xxx.tar.xz压缩包解压成xxx.tar,如下:

xz –d mysql-8.0.16-linux-glibc2.12-x86_64.tar.xz

第二步,使用tar -vxf命令将xxx.tar压缩包解压,如下:

tar -xvf mysql-8.0.16-linux-glibc2.12-x86_64.tar

3.给包重命名为mysql

mv mysql-8.0.16-linux-glibc2.12-x86_64 /usr/local/mysql

4.检查mysql组和用户是否存在,如无创建

创建mysql用户组

groupadd mysql

useradd -g mysql mysql

5.进入mysql目录并创建data目录;

cd /usr/local/mysql

mkdir data

[root@localhost /]# cd /usr/local/

[root@localhost local]# mkdir data

6.赋权限给相关目录

[root@localhost local]# chmod -R 777 /usr/local/mysql

[root@localhost local]# chmod -R 777 /usr/local/mysql/data/

7.将mysql目录的权限授给mysql用户和mysql组;

[root@localhost local]# chown -R mysql:mysql /usr/local/mysql

8.新建mysql配置文件 my.cnf

[root@localhost local]# vi /etc/my.cnf

配置文件内容如下:

[mysqld]# 设置3306端口port=3306# 设置mysql的安装目录basedir=/usr/local/mysql# 设置mysql数据库的数据的存放目录datadir=/usr/local/mysql/data# 允许最大连接数max_connections=10000# 允许连接失败的次数。这是为了防止有人从该主机试图攻击数据库系统max_connect_errors=10# 服务端使用的字符集默认为UTF8character-set-server=utf8# 创建新表时将使用的默认存储引擎default-storage-engine=INNODB# 默认使用“mysql_native_password”插件认证default_authentication_plugin=mysql_native_password#sql_model 去掉ONLY_FULL_GROUP_BYsql-mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION[mysql]# 设置mysql客户端默认字符集default-character-set=utf8[client]# 设置mysql客户端连接服务端时默认使用的端口port=3306default-character-set=utf8

配置好文件,附文件权限:

chmod -R 777 /etc/my.cnf #特别注意,这个是所有用户都可读写,由于mysql的安全机制,这种权限可能会被忽视掉,导致配置文件my.cnf不生效

chmod 644 /etc/my.cnf #建议用这个,用户可读写,其他用户不可写.

[root@localhost local]# chmod 644 /etc/my.cnf

9.进入mysql 安装目录下:

[root@localhost local]# cd/usr/local/mysql/bin/

安装MySQL,并记住随机生成的密码,每次生成都不一样:

[root@localhost bin]# ./mysqld --initialize --console

密码初始化

error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory

出现该问题首先检查该链接库文件有没有安装使用 命令进行核查

rpm -qa|grep libaio

运行该命令后发现系统中无该链接库文件

使用命令,yum install libaio-devel.x86_64

安装成功后,继续运行数据库的初始化命令,提示成功

10.启动mysql

[root@localhost bin]# cd /usr/local/mysql/support-files/

[root@localhost support-files]# ./mysql.server start

mysql启动成功

可能会出现下面的错误:

解决办法是查看错误文件:

[root@localhost support-files]# cd /usr/local/mysql/data

我这里是忘记给文件赋权限,所以执行下:chmod -R 777 /usr/local/mysql/data/

就OK了,其他情况也有可能发生,根据具体情况查看

11.配置环境变量

[root@localhost support-files]# cp mysql.server /etc/init.d/mysqld

[root@localhost support-files]# service mysqld restart

12.创建软连接(实现可直接命令行执行mysql)

ln -s /usr/local/mysql/bin/mysql /usr/bin

[root@localhost support-files]# ln -s /usr/local/mysql/bin/mysql /usr/bin

13.登录mysql修改默认密码,创建远程登录

[root@localhost mysql]# mysql -uroot -p

修改密码:ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';

修改成远程登录用户:update user set host='%' where user = 'root';

授权:grant all privileges on *.* to 'root'@'%';

刷新权限:flush privileges;

使用native校验登录(可以使用Navicat for mysql等工具登录):ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';

14.防火墙的设置

查看防火墙状态

firewall-cmd --state

如果没有开启,则开启

开启防火墙: systemctl start firewalld.service

查看监听的端口: firewall-cmd --list-port

添加3306端口监听

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

刷新防火墙设置

firewall-cmd --reload

至此,完成安装。

15.加入开机启动

chkconfig --add mysqld

chkconfig mysqld on

mysql安装完毕后,使用chkconfig --add 添加服务时提示“在mysqld服务中读取信息时出错:没有那个文件或目录”

找到mysql.server服务文件复制到/etc/rc.d/init.d下

cp /usr/local/mysql/support-files/mysql.server /etc/rc.d/init.d/mysqld

chmod +x /etc/rc.d/init.d/mysqld

然后执行chkconfig --add mysqld

备注

感谢读者关注、点赞、收藏

标签: #centos644