一、下载
百度云下载地址在这,提取码为 t752,此次安装的版本为 mysql-8.0.13-linux-glibc2.12-x86_64.tar.xz。
二、卸载相关依赖
1、使用 rpm -qa | grep mysql 命令查找 mysql 数据库软件包及依赖包,若没有任何显示则证明没有相关的 mysql 数据库,如图所示。若显示了相关的软件包及依赖包,使用 yum remove xxx 命令依次删除显示的包;注意:xxx 为显示的软件包及依赖包包名。
2、使用 find / -name mysql 命令查找原有 mysql 数据库的相关配置文件,如下所示,然后根据需求情况使用命令 rm -rf xxx 依次删除以上文件,例如:
rm -rf /etc/selinux/targeted/active/modules/100/mysql
三、卸载 mariadb
3.1 为什么卸载
只有卸载系统预置的 mariadb,才能安装 mysql。以前的 linux 系统中数据库大部分是 mysql,不过自从被 sun 收购之后,就没有集成在 centos 这些开源 linux 系统中了,如果想用的话就需要自己安装了,首先 centos7 已经不支持 mysql,因为收费了,所以内部集成了 mariadb,而安装 mysql 的话会和 mariadb 的文件冲突,所以需要先卸载掉 mariadb。
3.2 如何卸载
1、使用 rpm -qa | grep mariadb 命令查看
2、使用 rpm -e --nodeps mariadb-libs-5.5.65-1.el7.x86_64 命令卸载
3、使用 rm /etc/my.cnf 删除 my.cnf 文件(这个文件可能不存在,没关系的),防止对新安装的数据库有冲突,后面会再新建一个 my.cnf 文件,如下所示:
四、安装 mysql
1、将下载好的 mysql 压缩包考到系统下
2、对压缩包进行解压缩操作,命令为
xz –d mysql-8.0.13-linux-glibc2.12-x86_64.tar.xz;tar -xvf mysql-8.0.13-linux-glibc2.12-x86_64.tar
3、给包重命名为 mysql,并安装到 /usr/local/ 目录下
4、检查 mysql 的组和用户是否存在,如果没有则创建,如下
cat /etc/group | grep mysql
cat /etc/passwd | grep mysql
5、 创建 mysql 用户组
groupadd mysql
useradd -g mysql mysql
设定 mysql 的密码 passwd mysql
6、进入到 mysql 目录下并创建 data 目录
cd /usr/local/mysql
mkdir data
7、赋权限给相关目录,先返回上级目录,防止提示找不到对应目录
cd ..
chmod -R 777 /usr/local/mysql
chmod -R 777 /usr/local/mysql/data
8、将 mysql 目录的权限授给 mysql 用户和 mysql 组
chown -R mysql:mysql /usr/local/mysql
9、新建 mysql 配置文件 my.cnf
vi /etc/my.cnf
配置文件内容为:
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[mysqld]
skip-name-resolve
#设置3306端口
port = 3306
# 设置mysql的安装目录
basedir=/usr/local/mysql
# 设置mysql数据库的数据的存放目录
datadir=/usr/local/mysql/data
# 允许最大连接数
max_connections=200
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
lower_case_table_names=1
max_allowed_packet=16M
10、进入mysql 安装目录下,安装 MySQL,并记住随机生成的密码,每次生成都不一样:
cd mysql/bin/
./mysqld --initialize --console
11、修改 config 配置,修改 SELINUX=disabled
vi /etc/selinux/config
12、创建软连接(实现可直接命令行执行 mysql)
ln -s /usr/local/mysql/bin/mysql /usr/bin
13、mysqld 配置,拷贝启动文件到 /etc/init.d/ 下并重命名为 mysqld
#复制文件
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
#增加执行权限
chmod 777 /etc/init.d/mysqld
#检查自启动项列表中没有mysqld
chkconfig --list mysqld
#如果没有就添加mysqld
chkconfig --add mysqld
#设置开机启动
chkconfig mysqld on
#启动测试
service mysqld start
如果这个地方启动报错了,应该是文件的操作权限不够,可以修改下该文件的读写权限或目录下所有文件的权限。
chmod -R 777 /usr/local/mysql/data/
14、接着我们使用前面随机生成的密码登录 mysql 数据库,再重置密码
mysql -u root -p(回车后输入前面的随机密码)
在 mysql 中修改密码为 Rfid123456;
set PASSWORD = 'Rfid123456';
五、开启远程权限
create user 'root'@'%' identified by 'Rfid123456';
grant all on *.* to 'root'@'%';
flush privileges;
六、开放端口
防火墙开放 3306 端口
#查看当前防火墙的状态
firewall-cmd --state
#查看当前防火墙开放的端口
firewall-cmd --list-ports
#开放3306端口
firewall-cmd --permanent --add-port=3306/tcp
#重启防火墙(修改配置后要重启防火墙)
firewall-cmd --reload