清理原有Mysql
查找出安装的mysql软件包和依赖包,并逐项卸载对应程序、删除配置文件。
>查找mysql软件包、依赖包 rpm -qa|grep -i mysql
>使用yum remove命令卸载上一条结果显示的程序,依次执行卸载。
yum remove mysql-xxx-xxx
其中mysql-xxx-xxx依次替换为结果列表对应的名称,如mysql-community-server-8.0.11-1.el7.x86_64。
>查找并删除对应配置文件。
find / -name mysql
rm -rf xxx-xxx-xxx
其中xxx-xxx-xxx依次替换为结果类表对应的名称,如/var/lib/mysql。
卸载系统自带MariaDB
注意:如果查找出来仅以下程序,可不用卸载,直接跳过此步骤;但是如果有servere,则必须卸载。
>查找要删除的mariadb文件并删除
rpm -qa | grep mariadb
rpm -e xxx-xxx-xxx
如果卸载失败则执行强制删除命令
rpm -e --nodeps xxx-xxx-xxx
其中xxx-xxx-xxx依次替换为查找的结果列表对应的名称,如mariadb-libs-5.5.56-2.el7.x86_64。
安装mysql8.0
安装依赖包 yum -y install numactl
下载并解压安装包
https://dev.mysql.com/downloads/mysql/
上传mysql8.0安装包并解压(示例目录以/opt为例,实际项目部署根据实际情况调整)
yum install -y lrzsz()记得安装下上传服务
解压 tar -zxvf mysql-8.0.17-el7-x86_64.tar.gz
mv mysql-8.0.17-el7-x86_64 /opt/mysql
配置系统参数 echo "fs.file-max=65535" >> /etc/sysctl.conf
创建mysql用户并配置环境变量
>添加用户和组
groupadd mysql
groupadd dba
useradd -G dba -g mysql mysql
su - mysql
mysqld --defaults-file=/opt/mysql_data/3306/my3306.cnf --initialize --console --user=mysql
初始化及启动3306实例
>初次启动
/opt/mysql/bin/mysqld_safe --defaults-file=/opt/mysql_data/3306/my3306.cnf --datadir=/opt/mysql_data/3306/data --user=mysql --basedir=/opt/mysql &
初始数据库root用户密码查看
grep "temporary password" /opt/mysql_data/3306/log/error.log
>root用户进入数据库并初始化,
mysql -P3306 -uroot -p -S /opt/mysql_data/3306/run/mysql.sock
alter user 'root'@'localhost' identified by '密码';
create user 'root'@'192.168%' IDENTIFIED with mysql_native_password BY '密码';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.%' WITH GRANT OPTION;(这个地方执行的石化可能会出现报错,需要去查下数据库 use mysql select host,user from user where user='root'; host字段内容)
flush privileges;
set persist collation_connection=utf8mb4_general_ci;
set persist collation_database=utf8mb4_general_ci;
set persist collation_server=utf8mb4_general_ci;
set global default_collation_for_utf8mb4=utf8mb4_general_ci;
exit
最后就是防火墙里面加上mysql的端口
firewall-cmd --zone=public --add-port=3306/tcp --permanent