[linux]centos7.4上安装MySQL-8.0.11【完美安装】

时间:2021-09-07 14:11:22

版本声明

centos7.4

MySQL-8.0.11

1.我用的阿里云的虚拟主机,刚从windows换到linux,需要装下常用工具

#安装下sz rz常用到上传下载的命令

yum install -y lrzsz

#安装解压包工具

yum install -y tar

2.检查之前是否安装过mysql

检查是否安装过mysql

rpm -qa | grep mysql  或   rpm -qa|grep -i mysql

如果有的话可以用删除mysql的命令

rpm -e –nodeps 包名 如果提示依赖错误 rpm -ev 包名 --nodeps    ,如果提示错误:error: %preun(xxxxxx) scriptlet failed, exit status 1      尝试用   rpm -e --noscripts 包名

3.在线安装,如果安装自定义版本,(可以更改下链接中的版本号下载不同的版本~)

wget http://dev.mysql.com/get/Downloads/MySQL-8.0.11/mysql-8.0.11-linux-glibc2.12-x86_64.tar

非在线安装的话,先从官网找到对应的版本,再rz到服务器上解压包安装,或者rpm查看mysql依赖包再用命令安装

mysql下到指定目录后,解压目录

解压

tar -xvf file.tar //解压 tar包

tar -xzvf file.tar.gz //解压tar.gz

tar -xjvf file.tar.bz2   //解压 tar.bz2

tar -xZvf file.tar.Z   //解压tar.Z

unrar e file.rar //解压rar

unzip file.zip //解压zip

4.mysql的环境变量配置

编辑环境配置文件

vi /etc/profile

具体路径根据自己安装的目录

export PATH=$PATH:/usr/local/mysql/bin

改动环境变量后刷新下环境变量配置文件

source /etc/profile

5.解压mysql后,添加用户和组

groupadd mysql

#添加用户mysql到用户组mysql

useradd -g mysql mysql

进入安装mysql软件目录,修改目录拥有者为testcx用户

cd mysql/

chown -R testcx:mysql ./

安装数据库,此处可能出现错误。

./scripts/mysql_install_db --user=testcx

解决办法:

yum install -y perl-Data-Dumper

chown -R root:root ./

chown -R testcx:root data

再执行./scripts/mysql_install_db --user=testcx

6.继续...为写进seriver使用

cp support-files/mysql.server /etc/init.d/mysqld

chmod 755 /etc/init.d/mysqld

#配置文件,复制到etc下

cp my.cnf /etc/my.cnf

#修改启动脚本

vi /etc/init.d/mysqld  修改下面两个参数

basedir=/usr/local/mysql/

datadir=/usr/local/mysql/data/mysql

7.启动mysql服务等操作

启动

service mysqld start

重启

service mysqld restart

停止

service mysqld stop

8.第一次登录root,修改密码

# vim /etc/my.cnf

在[mysqld]的段中加上一句:skip-grant-tables

例如:

[mysqld]

skip-grant-tables

wq

重启mysql, service mysqld restart

登录root

mysql -uroot -p mysql 登录root

USE mysql ;

修改密码

UPDATE user SET Password = password ('123pws') WHERE User = 'root' ;

#刷新

flush privileges ;

把etc/my.cnf 加的skip-grant-tables 去掉 再重启

9.先登陆root,在服务器重新创建一个mysql用户 username为创建的用户名 host指定哪个主机可远程访问 所有主机 改成%即可

CREATE USER 'username'@'host' IDENTIFIED BY 'password';

创建好用户授权访问数据库所有的权限 *.*表示哪个库的哪个表 *.*表示所有库和表

9.1. GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;

9.2. FLUSH PRIVILEGES;

编辑/etc/my.cnf指定ip 端口

bind-address=内网ip
port=端口号

wq

重启mysql生效

10.防火墙开放端口,远程可连接到服务器数据库

可参考csdn的一位小伙伴 https://blog.csdn.net/achang21/article/details/52538049

contens7之后的版本已经不用iptables了 用的是firewall

所以老命令可能不好使

先关闭 firewall

systemctl stop firewalld.service #停止firewall

systemctl disable firewalld.service #禁止firewall开机启动

安装iptables service

yum -y install iptables-services

如果要修改防火墙配置,如增加防火墙端口

vi /etc/sysconfig/iptables

增加规则

-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT

保存退出后

systemctl restart iptables.service #重启防火墙使配置生效

ystemctl enable iptables.service #设置防火墙开机启动

*阿里云注意安全策略端口开放

开放下端口

11.本地navicat验证连接

需注意 便宜的阿里腾讯不会有独立的外网ip 都是做的映射。所以服务器配置内网ip 本地用外网ip连接

若有理解错误的地方,请留言哈~