准备MySQL
下载好Linux版本的MySQL
切换目录至 /usr/local并显示当前内容
在该目录下创建mysql文件夹,并进入mysql文件夹
将准备好的MySQL上传到mysql文件夹
移除mariadb
在安装之前先检查有没有mariadb,如果有则移除,执行如下命令。
- ①查看mariadb在命令窗口键入:
rpm -qa | grep mariadb
- ②移除mariadb在命令窗口键入:
rpm -e mariadb-libs-5.5.56-2.el7.x86_64 --nodeps
- ③再次查看mariadb在命令窗口键入:
rpm -qa | grep mariadb
解压并安装MySQL
- ①解压MySQL,在命令窗口键入:
tar -xvf MySQL-5.6.22-1.el6.i686.rpm-bundle.tar
- ②安装common,在命令窗口键入:
rpm -ivh mysql-community-common-8.0.19-1.el7.x86_64.rpm --nodeps --force
- ③安装libs,在命令窗口键入:
rpm -ivh mysql-community-libs-8.0.19-1.el7.x86_64.rpm --nodeps --force
- ④安装client,在命令窗口键入:
rpm -ivh mysql-community-client-8.0.19-1.el7.x86_64.rpm --nodeps --force
- ⑤安装server,在命令窗口键入:
rpm -ivh mysql-community-server-8.0.19-1.el7.x86_64.rpm --nodeps --force
- ⑥查看已经安装的包,在命令窗口键入:
rpm -qa | grep mysql
- ⑦删除MySQL压缩包,在命令窗口键入:
rm -f mysql-8.0.19-1.el7.x86_64.rpm-bundle.tar
初始化配置
- 使用以下命令完成初始化
mysqld initialize
如果出现错误如:
解决方法:
1.通过在命令后面加上--user=root 进行强制使用root账号启动。这样是最快的。
cd /etc/init.d
mysqld --user=root
2.使用一个普通用户进行启动mysqld 。这个用户必须是属于mysqld用户组,且在my.cnf文件中。使用vi /etc/my.cnf
加上user=mysql
进行指定mysql用户来启动mysql服务。这样是最好的。
这因为机器不同可能出现其他各种问题,伙伴们自行找度娘就可以了。
- 授权服务防火墙配置
chown mysql:mysql /var/lib/mysql -R; systemctl start mysqld.service systemctl enable mysqld
- 查看数据库的默认密码
cat /var/log/mysqld.log | grep password
- 拿到查询出的密码进行数据库的登录
mysql -u root -p #这里将查询出来的密码粘贴过来即可,密码不显示,回车登录即可
- 修改密码
ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass4!';
注意,在设置密码的时候有一个密码策略的问题,自行注意个更改哈!
退出后用新密码重新登录
- 授权远程访问
CREATE USER 'root'@'%' IDENTIFIED BY 'MyNewPass4!'; grant all privileges on *.* to 'root'@'%';
修改密码加密插件(否则navicat等可视化工具可能会报错,无法连接mysql)
alter user 'root'@'%' identified with mysql_native_password by 'MyNewPass4!';
- 配置防火墙
本地虚拟机需要开启防火墙,CentOS6采用的ptables,而CentOS7采用的是systemctl,所以下面我们采用CentOS7的配置。
查看防火墙状态:systemctl status firewalld
启动防火墙:(这里已经启动)
systemctl start firewalld
添加开放端口
firewall-cmd --zone=public --add-port=3306/tcp --permanent
重新加载
firewall-cmd --reload
测试
准备(填写连接信息)
测试连接
登录查询
到这里大家自己动手实践吧,希望对你能有点帮助!!!!