安装之前需要确认机器上是否安装过mysql如果已经安装过.需要清理掉.
1.检查是否已经安装过mysql :
rpm -qa | grep mysql
如果环境中有遗留mysql则执行删除命令:`rpm -e --nodeps mysql-xxxxxxxxx`
2.查询遗留的mysql设置或命令,执行两条命令
whereis mysql
find / -name mysql
如通过上述两条命令发现有遗留,则执行清除命令,将所有查到的mysql都删除 :
rm -rf xxx xxx
3、检查mysql用户组和用户是否存在,如果没有,则创建,有的话可以不用添加.
查看是否存在mysql用户的命令:
cat /etc/group | grep mysql
cat /etc/passwd |grep mysql
执行命令出现如下内容说明用户组和用户已存在:
就不需要执行添加mysql用户命令.
增加 mysql 用户的命令:
groupadd mysql
useradd -r -g mysql mysql
正式开始安装
1.从官网下载用于Linux的Mysql安装包.两种方法
第一:如果你的linux 系统有外网,则直接通过命令下载到linux系统上:
wget https://dev.mysql.com/get/Downloads/MySQL-8.0.20/mysql-8.0.20-linux-glibc2.12-x86_64.tar.xz
第二:通过浏览器打开网页,按照图片的执行,点击"DownLoad"
官网地址:https://downloads.mysql.com/archives/community/
3、开始解压、安装
- 进入 cd /usr/local 目录下.然后上传压缩包
- 解压 tar -xvf mysql-8.0.20-linux-glibc2.12-x86_64.tar.xz
- 对解压出来的文件重命名 mv mysql-8.0.20-linux-glibc2.12-x86_64 mysql
- 进入 /usr/local/mysql 目录创建文件夹
#mysql数据存储目录
mkdir data
#mysql日志存放目录
mkdir log
- 将指定文件的拥有者改为指定的用户或组
chown -R mysql:mysql ./
- 进入/var/lib目录 cd /var/lib
- 创建mysql目录 mkdir mysql
- 修改权限 chmod 777 mysql
- 修改配置文件 vim /etc/my.cnf 内容如下
[mysql]
#mysql客户端默认字符集
default-character-set=utf8
[mysqld]
#mysql忽略大小写
lower-case-table-names=1
#设置3306端口
port = 3306
socket=/var/lib/mysql/mysql.sock
#设置mysql的安装目录
basedir=/usr/local/mysql
#设置mysql数据库的数据的存放目录
datadir=/usr/local/mysql/data
#允许最大连接数
max_connections=200
#最大等待时间
wait_timeout=3153600
#服务端使用的字符集
character-set-server=utf8
#创建新表时将使用的默认存储引擎
default-storage-engine = InnoDB
#日志
#允许做大数据包
max_allowed_packet=16M
[client]
port=3306
socket=/var/lib/mysql/mysql.sock
- 在cd /usr/local/mysql
./bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/
- 如果初始化失败,报错信息如下.
./bin/mysqld: error while loading shared libraries: libnuma.so.1: cannot open shared object file: No such file or directory
出现上面的错误信息是缺少numactl,执行下面命令可以解决
yum -y install numactl
再次执行初始化mysql命令
./bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/
初始化mysql密码如上图,记住它!!!
设置开机自启动
- 复制脚本资源到启动目录,在/usr/local/mysql 目录下执行命令
cp ./support-files/mysql.server /etc/rc.d/init.d/mysqld
- 增加mysql服务控制脚本权限
chmod +x /etc/rc.d/init.d/mysqld
- 将 mysqld 服务加入到系统服务
chkconfig --add mysqld
- 检查mysqld服务是否已经生效
chkconfig --list mysqld
成功出现如下效果
- 启动mysql
service mysqld start
- 登录mysql mysql -uroot -p密码
- 修改初始化密码
ALTER USER 'root'@'localhost' IDENTIFIED BY '你的密码';
- 如果有开启防火墙,就要开启防火墙端口 3306 使其可远程访问,没有请忽略
firewall-cmd --zone=public --add-port=3306/tcp --permanent;
firewall-cmd --reload;
- 开启数据库远程连接
CREATE USER 'root'@'%' IDENTIFIED BY '密码';
GRANT ALL ON *.* TO 'root'@'%';
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '密码';
FLUSH PRIVILEGES;
- 使用navicat连接你的数据库