二进制安装方式(只需解压无需编译)
一、官网下载地址:
https://downloads.mysql.com/archives/community/
二、在Linux上用wget命令下载二进制安装包
wget https://downloads.mysql.com/archives/get/p/23/file/mysql-5.7.34-linux-glibc2.12-x86_64.tar.gz
三、使用tar命令解压二进制包
tar -xzvf mysql-5.7.34-linux-glibc2.12-x86_64.tar.gz
四、将解压后的软件包移到你想放置的程序安装位置
mv mysql-5.7.34-linux-glibc2.12-x86_64 /usr/local/mysql
五、创建mysql用户组和用户
groupadd mysql
useradd -r -g mysql mysql
六、创建mysql数据目录并赋予权限
mkdir -p /data/mysql #创建mysql数据目录
chown mysql:mysql -R /data/mysql #赋予权限:将/data/mysql下的所有文件与子目录的拥有者皆设为 mysql,群体的使用者mysql
七、配置my.cnf
*******此处加一步操作:由于CentOS7自带的是 Mariadb, 所以先来删除他*********************
查找版本
rpm -qa|grep mariadb
执行命令后会出现类似 MariaDB-server-5.5.49-1.el7.centos.x86_64 之类的信息,记住名字就行了,删除它
rpm -e --nodeps 上面查出来的文件名
**********************继续我们的操作*****************************************************************
vim /etc/my.cnf
将下面内容复制进去(i键进入编辑模式,esc->冒号+wq退出编辑)
[mysqld]
bind-address=0.0.0.0
port=3306
user=mysql
basedir=/usr/local/mysql
datadir=/data/mysql
socket=/tmp/mysql.sock
log-error=/data/mysql/mysql.err
pid-file=/data/mysql/mysql.pid
#character config
character_set_server=utf8mb4
symbolic-links=0
八、初始化数据库
进入mysql的bin目录
./mysqld --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql/ --datadir=/data/mysql/ --user=mysql --initialize
九、查看密码:
cat /data/mysql/mysql.err
十、启动mysql,并更改root 密码
先将mysql.server放置到/etc/init.d/mysql中
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
启动:
service mysql start #启动
十一、用生成的随机密码登录,进行修改密码
./mysql -u root -p #bin目录下
再分别依次执行下面三步操作:(注意:mysql每条命令的结束都有分号)
SET PASSWORD = PASSWORD('root');
ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER;
FLUSH PRIVILEGES;
命令解释:SET PASSWORD = PASSWORD('密码');
十二、mysql默认只能本地访问,需要修改下user表root用户的权限,将默认的localhost改为%
use mysql #选择访问mysql库
update user set host = '%' where user = 'root'; #使root能再任何host访问
FLUSH PRIVILEGES; #刷新
异常处理:
报错信息:./mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory
解决方法:
yum -y install libaio