八大步骤速装MySQL8、Linux小白易懂(CentOS7环境)
📑第一步
安装前的清理~旧数据库及其配置文件的工作(不再赘述,具体操作Google)
📑第二步
删除MariaDB的文件:
由于MySQL在CentOS7中收费了,所以已经不支持MySQL了,取而代之在CentOS7内部集成了MariaDB,而安装MySQL的话会和MariaDB的文件冲突,所以需要先卸载掉MariaDB.
推荐使用
rpm
强制删除命令直接删除mariadb文件-
一条代码就好:
rpm -e --nodeps mariadb-libs-5.5.56-2.el7.x86_64
至此就将原来有的MySQL和MariaDB数据库删除了
📑第三步
在/usr/local
文件夹中新建mysql文件夹并进入,再执行wget
命令下载你想要的MySQL的rpm源(若提示wget命令不存在可用yum先安装好wget)。
wget https://repo.mysql.com//mysql80-community-release-el7-3.noarch.rpm
具体rpm源的地址可根据需要自行选择,因为Centos的yum源中默认是没有MySQL的,所以我们需要先去官网下载MySQL的repo源并安装。
接着执行更新缓存:
rpm -ivh mysql80-community-release-el7-3.noarch.rpm
执行后会在/etc/yum.repos.d/
下面生成两个mysql的repo文件,再接着执行命令
yum clean all
yum makecache
📑第四步
vi
编辑在/etc/yum.repos.d/mysql-community.repo
中的enable值,1
代表启用。根据需要自行编辑。
再执行yum install mysql-community-server
,坐等进度条完成。
📑第五步
在执行了MySQL安装命令yum install mysql-community-server
后,MySQL默认是安装在/var/lib/mysql
中的。可以自定义改为其他路径后再执行启动systemctl start mysqld
命令。我这里就没有改路径到的第六步
具体的改路径的方式(这里举例改到
/mnt/mysql8/
):vi /etc/my.cnf [mysqld] datadir=/mnt/mysql8 socket=/mnt/mysql8/mysql.sock log-error=/mnt/mysql8/mysqld.log pid-file=/mnt/mysql8/mysqld.pid lower-case-table-names=1
📑第六步
获取初始密码:
cat /var/log/mysqld.log | grep password
在执行完systemctl start mysqld
命令然后记录好了/var/log/mysqld.log
中的初始密码后就可以使用初始密码登录了,注意:首次登录必须修改密码
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass2#'; #注意位数和种类至少大+写+小写+符号+数字
Query OK, 0 rows affected (0.02 sec)
这里密码设置中MySQL有默认复杂的策略-->位数和种类至少大+写+小写+符号+数字。我们也可以修改了密码复杂度策略后再修改密码(这里示例的简单密码是改为123asd
)
mysql> set global validate_password.policy=0;
Query OK, 0 rows affected (0.01 sec)
mysql> set global validate_password.length=6;
Query OK, 0 rows affected (0.00 sec)
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '123asd';
Query OK, 0 rows affected (0.05 sec)
📑第七步(可选)
将MySQL加入开机启动项:
systemctl enable mysqld.service
防火墙配置:
# CentOS7默认使用的是firewall作为防火墙,可选其他防火墙,操作方式Google
将MySQL服务加入开机启动项,并启动MySQL进程:
systemctl enable mysqld.service
systemctl start mysqld.service
忘记密码重置密码:
vim /etc/my.cnf #注:windows下修改的是my.ini
skip-grant-tables# 在[mysqld]后面任意一行添加skip-grant-tables用来跳过密码验证的过程;设置完密码记得删除
systemctl restart mysqld.service #重启mysql ,就可以免密码登陆了,然后进行修改密码
常见MySQL服务命令:
mysql -u username -p #登录mysql
quit #退出mysql
systemctl start mysqld.service #启动mysql
systemctl stop mysqld.service #结束
systemctl restart mysqld.service #重启
systemctl enable mysqld.service #开机自启
select version(); #查看mysql版本
📑第八步
登入MySQL后,更改 "mysql" 数据库里的 "user" 表里的 "host" 项,从"localhost"改为"%"登录mysql数据库:
use mysql;
update user set host='%' where user='root';
flush privileges;
配置远程登陆:
mysql> grant all privileges on *.* to 'root'@'%';
Query OK, 0 rows affected (0.02 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.02 sec)
[图片上传失败...(image-95e6ac-1578900444684)]