Centos7下使用二进制包glibc安装mysql8
1、下载安装包并检查是否安装
https://dev.mysql.com/downloads/mysql/
wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.26-linux-glibc2.12-x86_64.tar.xz
- 查看mysql数据库
rpm -qa | grep -i mysql
- 卸载mysql数据库
rpm -e --nodeps mysql 文件名
- 查找mysql文件
find / -name mysql
2、创建用户及用户组
1、检查mysql组和用户是否存在,如无创建
cat /etc/group | grep mysql
cat /etc/passwd | grep mysql
2、创建mysql用户组,指定mysql用户属于mysql组
groupadd -r mysql && useradd -r -g mysql -s /sbin/nologin -M mysql
3、添加目录权限
chown -R mysql:mysql /usr/local/mysql
3、解压压缩包(在/usr/local下,改名为msyql)
tar -xvf mysql-8-xxx
4、初始化MySQL数据库
bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql
1、提示问题:error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory
解决方法:yum install libaio-devel.x86_64
5、配置my.cnf文件(若没有文件,手动添加)
cp /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf
echo "[mysqld]" >>/etc/my.cnf
echo "server-id=1" >>/etc/my.cnf
echo "bind-address=0.0.0.0" >>/etc/my.cnf
echo "port=3306" >>/etc/my.cnf
echo "basedir=/usr/local/mysql" >>/etc/my.cnf
echo "datadir=/data/mysql" >>/etc/my.cnf
echo "default-authentication-plugin=mysql_native_password" >>/etc/my.cnf
6、开机自启
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
chmod +x /etc/init.d/mysqld
7、注册服务
chkconfig --add mysqld
chkconfig mysqld on
chkconfig --list mysqld
8、环境变量
echo "export PATH=$PATH:/usr/local/mysql/bin:/usr/local/mysql/lib" >>/etc/profile
source /etc/profile
9、修改密码
alter user 'root'@'localhost' identified by 'root123';
flush privileges; #刷新
10、创建用户并授权
CREATE USER 'username'@'localhost' IDENTIFIED BY 'password';
CREATE USER 'username'@'%' IDENTIFIED BY 'password';
grant all privileges on dbname.* to 'username'@'%' ;
grant all privileges on dbname.* to 'username'@'localhost' ;
11、导入数据
create database 数据库名称
use 数据库名
source /mnt/数据库.sql
12、防火墙开放端口
[root@localhost ~]# firewall-cmd --zone=public --add-port=3306/tcp --permanent #开放3306端口
success
[root@localhost ~]# systemctl restart firewalld.service #重启防火墙
[root@localhost ~]# firewall-cmd --list-ports #查看是否开放成功
3306/tcp