一、官网下载MySQL
这里以MySQL8.0.28为例
二、安装MySQL
1.服务器上创建目录
mkdir /demo
2.将官网下载的tar包上传至新建文件夹中(我这里使用的xftp,就不演示了哈)
3.解压tar包
mkdir mysql-8.0.28
tar -zxvf mysql-8.0.28-1.el7.x86_64.rpm-bundle.tar mysql-8.0.28
解压完后,mysql-8.0.28下有一下RPM包
4.安装RPM包
按照顺序依次安装
rpm -ivh mysql-community-common-8.0.28-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-plugins-8.0.28-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-8.0.28-1.el7.x86_64.rpm
(若有报错提示:mariadb-libs is obsoleted by mysql-community-libs-8.0.28-1.el7.x86_64 再执行该指令:rpm -e mariadb-libs --nodeps 之后重新安装报错的包)
rpm -ivh mysql-community-libs-8.0.28-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-compat-8.0.28-1.el7.x86_64.rpm
rpm -ivh mysql-community-devel-8.0.28-1.el7.x86_64.rpm
(若有报错提示:pkgconfig(openssl) is needed by mysql-community-devel-8.0.28-1.el7.x86_64 再执行该指令:yum install openssl-devel 之后重新安装报错的包)
rpm -ivh mysql-community-devel-8.0.28-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-8.0.28-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-8.0.28-1.el7.x86_64.rpm
(若有报错提示:libaio.so.1()(64bit) is needed by mysql-community-server-8.0.28-1.el7.x86_64 再执行该指令:yum install libaio 之后重新安装报错的包)
rpm -ivh mysql-community-server-8.0.28-1.el7.x86_64.rpm
rpm -ivh mysql-community-icu-data-files-8.0.28-1.el7.x86_64.rpm
5.启动MySQL
systemctl start mysqld
其他一些常用指令
-- 查看MySQL运行状态
systemctl status mysqld.
-- 停止MySQL运行
systemctl stop mysqld
-- 重启MySQL
systemctl restart mysqld
运行成功!!!
6.登录
第一次启动MySQL会给你一个系统随机的密码,这个密码可在mysqld.log中查看
cat /var/log/mysqld.log
登录MySQL
mysql -uroot -p
再把密码复制粘贴进去就能登进MySQL中
三、修改配置
1.修改密码
登入MySQL中,执行下列命令
ALTER USER 'root'@'localhost' IDENTIFIED BY 'xxxxxxxxxxx'
最后一个单引号内是自己的密码,若是设置的简单MySQL会提示报错 !
很直白的提示:您的密码不符合当前策略要求
这时需要修改安全策略
set global validate_password.policy = 0;
然后就可以设置简单密码了
2.修改端口
在配置文件中增加端口配置
vim /etc/my.cnf
重启MySQL即可
3.修改数据的存储路径
这里采取的是软连接的方式
// 迁移数据目录
mv /var/lib/mysql /demo/mysql
// 赋予目录权限
chown -R mysql:mysql /demo/mysql
// 建立软连接
ln -s /demo/mysql /var/lib/
// 检查创建的软连接
ls -l /var/lib
4.开启远程访问
先登录MySQL
mysql -uroot -p
再选择mysql数据库
use mysql;
在 mysql 数据库的 user 表中查看当前 root 用户的相关信息
select host, user, authentication_string, plugin from user;
授权 root 用户的所有权限并设置远程访问
update user set host = '%' where user = 'root';
刷新权限
flush privileges;
设置成功!!!