MYSQL8在CentOS8环境的安装方法(DNF/YUM)
一、必要的说明和注意事项:
0、本问全程使用”root“账户安装数据库。
1、mysql存放数据文件的文件夹,必须是mysql用户所有,且mysql用户拥有读写执行的权限。使用dnf安装的mysql数据库,”数据库文件“默认存放在这个路径下:" /var/lib/mysql " ,因此必须手动设置”mysql文件夹“的所有者和属组以及用户mysql的读写权限。
2、my.cnf位置:/etc/my.cnf;编辑my.cnf文件:vim /etc/my.cnf
# my.cnf文件内容如下所示(警号所在的行是注释,这部分内容不用写):
[mysqld]
#datadir是设置”数据库文件“的存放路径,需要自己手动建立文件夹
datadir = /var/lib/mysql/mysqldata
# mysqld服务的端口号设置
port = 3306
3、安装环境:
3.1操作系统:
二、删除已安装的mysql数据库文件:
1、查询mysql的相关文件: rpm -qa | grep mysql
2、使用dnf/yum安装的mysql数据库的卸载: dnf remove mysql * (注意事项:mysql和*没挨着;因为他们挨着卸不掉mysql数据库和依赖包)
3、使用rpm安装的mysql数据库的卸载:rpm -e --nodeps XX(XX是安装包名称,二.1所有安装包都要卸载掉)
4、卸载时,必须进行这个操作,删除下面列举的文件夹:
4.1、/var/lib/mysql
4.2、存储“数据库文件”的文件夹,即my.cnf的datadir配置路径。默认情况下,“数据库文件”存储在/var/lib/mysql文件夹内,因此4.1就包含了存储“数据库文件”的文件夹。
三、下载文件:
1、下载文件名称:mysql80-community-release-el8-1.noarch.rpm
wget https://repo.mysql.com//mysql80-community-release-el8-1.noarch.rpm
2、文件mysql80-community-release-el8-1.noarch.rpm的作用:
在“/etc/yum.repos.d/”路径下,添加的mysql仓库文件,为了使用dnf安装mysql数据库做准备。
3、如果你的dnf仓库文件包含mysql安装库,你可以跳过步骤(三)的操作,直接进行步骤(四)的mysql数据库的安装。
四、mysql数据库的安装:
1、安装数据库:dnf install -y mysql-server
五、必要的准备:
1、创建存储“数据库文件”的文件夹mysqldata:
1.1、切换目录:cd /var/lib/mysql
1.2、创建“数据库文件”存储目录:mkdir mysqldata
2、添加mysql用户和组
2.1、添加mysql用户: useradd mysql
2.2、添加mysql组: groupadd mysql
3、设置存储“数据库文件”的文件夹的权限:
3.1、修改mysql文件夹的所有者和属组: chown -R mysql.mysql /var/lib/mysql
3.2、修改mysqldata文件夹的权限:chmod -R 777 /var/lib/mysql
六、检查mysql数据库是否安装成功:
1、mysqladmin --version;(mysqladmin命令位置:/usr/bin/mysqladmin);出现这个信息,表示mysql数据库安装成功:mysqladmin Ver 8.0.21 for Linux on x86_64 (Source distribution)
七、配置mysql数据库(my.cnf)
1、my.cnf位置:/etc/my.cnf
2、my.cnf配置(输入红色框内容):vim /etc/my.cnf
八、数据库的初始化:
1、初始化命令:mysqld --initialize
2、数据库的初始化密码,用于root用户第一次登录数据库,保存在mysqld.log文件中:/var/log/mysql/mysqld.log;冒号后面就是初始化的密码。
2020-11-22T17:14:28.725955Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: =-&8,.*0pfPh
3、说明:这里容易初始化失败,失败原因是存储“数据库文件”的文件夹中有文件存在,即"/var/lib/mysql/mysqldata"文件夹内有文件存在,删除“/var/lib/mysql/mysqldata”中的文件即可(cd /var/lib/mysql/mysqldata; rm -rf *);然后重新进行“初始化”
九、启动mysqld服务:
1、必要的准备:因为mysql数据库启动mysqld服务,需要在存储“数据库文件”的文件夹下面再次创建文件夹且进行读写操作,因此需要再次对“/var/lib/mysq/”文件夹进行权限设置。这里设置不好,mysqld启动过程中会失败。
1.1、改变拥有者和属组:chown -R mysql.mysql /var/lib/mysql
1.2、改变权限:chown -R 777 /var/lib/mysql
2、启动mysql服务:systemctl start mysqld
十、设置mysqld开机自启动:
1、设置mysql开机启动:systemctl enable mysqld
2、mysqld的常用命令:
2.1、启动mysqld服务:systemctl start mysqld
2.2、关闭mysqld服务:systemctl stop mysqld
2.3、重启mysqld服务:systemctl restart mysqld
2.4、查看mysqld服务:systemctl status mysqld
2.5、设置开机自启动mysqld服务:systemctl enable mysqld
2.6、关闭开机自启动mysqld服务:systemctl disable mysqld
十一、第一次登陆数据库:
1、查看数据库的初始化密码,位置(八.2),数据库的初始化密码为:=-&8,.*0pfPh
2、登陆服务器:mysql -uroot -p ;回车;输入数据库的初始化密码:
十二、在登录数据库的条件下,修改root用户的登陆密码:
1、mysql > alter user root@localhost identified by "1234xx" ;
十三、反常操作的总结:
1、创建一个文件夹:/var/mysql/lib/mysqldata(mysqldata文件夹用于存储“数据库文件”);
2、建立一个用户和组:建立的用户为mysql;建立的组为mysql。mysql用户和组,用作给/var/lib/mysql文件夹和存储“数据库文件”的文件夹授权。
3、两次授权操作。
3.1、第一次对/var/lib/mysql和/var/lib/mysql/mysqldata文件夹进行授权操作,为了数据库的初始化(mysqld --initialize)(初始化过程中,mysqld需要对”/var/lib/mysql/mysqldata“文件夹进行读写操作)
3.2、第二次对/var/lib/mysql和/var/lib/mysql/mysqldata文件夹进行授权操作,为了启动mysqld服务(systemctl start mysqld)(启动mysqld服务的过程中,mysqld需要对”/var/lib/mysql/mysqldata“的子文件夹进行读写操作)
十四、安装完毕。恭喜你开始了mysql数据库的学习,虽然会遇到很多困难,请保持不断奋斗的精神。祝你能成为mysql数据库的大神。