Linux(centos7)安装mysql8.0

    技术2022-07-10  94

    第一步:下载mysql-8.0.13-linux-glibc2.12-x86_64.tar.xz

           百度云下载地址https://pan.baidu.com/s/1CwH3yKNoQ_dUX4Q2xrA5Aw,提取码为jxbk

    第二步:查找并卸载原有的mysql数据库

           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的相关包并卸载

           1、为什么要卸载mariadb,因为只有卸载系统预置的mariadb,才能安装mysql。以前的Linux系统中数据库大部分是mysql,不过自从被sun收购之后,就没有集成在centos这些开源Linux系统中了,那么如果想用的话就需要自己安装了,首先centos7 已经不支持mysql,因为收费了,所以内部集成了mariadb,而安装mysql的话会和mariadb的文件冲突,所以需要先卸载掉mariadb。

           2、使用 rpm -qa | grep mariadb 命令查看,显示为:mariadb-libs-5.5.65-1.el7.x86_64

           3、使用 rpm -e --nodeps mariadb-libs-5.5.65-1.el7.x86_64 命令卸载

           4、使用 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';

     第五步:开启mysql的远程访问权限

    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

    Processed: 0.011, SQL: 9