一、下载
1.1、网盘链接
mysql-5.7.32-linux-glibc2.12-x86_64.tar.gz安装包
链接:https://pan.baidu.com/s/1mqK5jZrwkU4IIECZf8y2rQ提取码:yu4x
1.2、官网地址
链接:https://dev.mysql.com/downloads/mysql/5.7.html#downloads
1.3、weget
wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.32-linux-glibc2.12-x86_64.tar.gz
二、部署
2.1、安装
tar -xvf mysql-5.7.32-linux-glibc2.12-x86_64.tar.gz
2.2、移动并重命名
mv mysql-5.7.32-linux-glibc2.12-x86_64 /usr/local/mysql
2.3、创建mysql用户组和用户并修改权限
groupadd mysql
useradd -r -g mysql mysql
2.4、创建数据目录并赋予权限
#创建目录
mkdir -p /usr/local/mysql/data
#赋予权限
chown mysql:mysql -R /usr/local/mysql
2.5、配置my.cnf
vim /etc/my.cnf
修改内容成,配置文件整体替换为
[mysqld]
bind-address=0.0.0.0
port=3306
user=mysql
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
socket=/tmp/mysql.sock
log-error=/usr/local/mysql/data/mysql.err
pid-file=/usr/local/mysql/data/mysql.pid
#character config
character_set_server=utf8mb4
symbolic-links=0
explicit_defaults_for_timestamp=true
2.6、初始化数据库
#进入mysql的bin目录
cd /usr/local/mysql/bin/
#初始化
./mysqld --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/ --user=mysql --initialize
#查看密码
cat /usr/local/mysql/data/mysql.err
2.7、启动mysql
#先将mysql.server放置到/etc/init.d/mysql中
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
#启动
service mysql start
#查看
ps -ef|grep mysql
到这里说明mysql已经安装成功了!!
2.8、更改root 密码
首先登录mysql,前面的那个是随机生成的。
#bin目录下,登录
./mysql -u root -p
#密码123456
SET PASSWORD = PASSWORD('123456');
#给root赋予权限
ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER;
#刷新权限
FLUSH PRIVILEGES;
2.9、设置允许远程登录
#访问mysql库
use mysql
#使root能再任何host访问
update user set host = '%' where user = 'root';
#刷新权限
FLUSH PRIVILEGES;
2.10、添加软链接
如果不希望每次都到bin目录下使用mysql命令则执行以下命令
ln -s /usr/local/mysql/bin/mysql /usr/bin
2.11、设置开机启动
#将服务文件拷贝到init.d下,并重命名为mysql
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
#赋予可执行权限
chmod +x /etc/init.d/mysqld
#添加服务
chkconfig --add mysqld
#显示服务列表
chkconfig --list
三、常见问题
3.1、异常报错Access denied for user ‘root’@’localhost’ (using password: YES)
第一步:
1)关闭mysql服务
service mysql stop
2)修改文件my.cnf,在文件中添加skip-grant-tables
vim /etc/my.cnf
[mysqld]
skip-grant-tables
3)启动mysql服务
service mysql start
第二步:
1)登录mysql,会跳过验证随意输入密码
mysql -u root -p
2)修改root权限,设置密码
use mysql
#这时候我们需要给root以更新的权限
update user set Update_priv='Y' where user='root';
#然后是设置权限的权限
update user set Grant_priv ='Y' where user ='root';
#刷新权限
flush privileges;
#密码123456
grant all privileges on *.* to root@'localhost' identified by "123456" with grant option;
flush privileges;
第三步
删除配置文件my.cnf中skip-grant-tables。重新启动服务。
3.2、异常报错Host is not allowed to connect to this MySQL server
远程登录开启失败,参考上面步骤重新设置。