MySQL下载路径
https://www.mysql.com/cn/![](https://img-blog.csdnimg.cn/direct/e29793a20c004b20a3cf9235d203434a.png)
进入点击Archives
第一个选择版本号,第二个选择SUSE Linux Enterprise Server是rpm的安装包,Linux - Generic是tar.xz的安装包
rpm:
a、上传压缩包到opt或者在opt重新创建mysql文件夹(重新创建需要切换到新文件夹----cd 文件名)
b、使用tar -xvf 数据库包名(这里是8.0.32-1.el7.x86_64的数据库,安装别的替换下面的加入依赖的名字)
c、使用rpm -qa|grep mariadb查找是否有原本的数据库,使用rpm -r --nodeps mariadb-libs(如果-r 执行不了换成 -ev 后面跟着数据库名全称)消除依赖卸载
d、加入依赖按顺序来不能乱(如不成功在.rpm 后面加入(有空格)--nodeps --force)
rpm -ivh mysql-community-common-8.0.32-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-plugins-8.0.32-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-8.0.32-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-8.0.32-1.el7.x86_64.rpm
rpm -ivh mysql-community-icu-data-files-8.0.32-1.el7.x86_64.rpm
yum install net-tools(如果在安装pm -ivh mysql-community-server-8.0.32-1.el7.x86_64.rpm报依赖有问题错执行yum install libaio在重新执行最后一个安装) #安装mysql-community-server前需要安装好的组件
rpm -ivh mysql-community-server-8.0.32-1.el7.x86_64.rpm
e、初始化一下
mysqld --initialize --console
f、把安装的所属组都修改一下,使他们都有权限
chown -R mysql:mysql /var/lib/mysql/
g、启动服务
systemctl start mysqld
h、查看临时密码
cat /var/log/mysqld.log|grep localhost
i、进入数据库修改密码
mysql -uroot -p(复制过来的密码是看不见的不要慌)
ALTER USER 'root'@'localhost' IDENTIFIED BY 'root';(我这里密码直接设置为root BY '这里是设置的密码')
n、#开启访问权限:
# 1.创建用户root,密码root
create USER 'root'@'%' IDENTIFIED BY 'root';
# 2.给用户授权
grant all privileges on *.* to 'root'@'%';
flush privileges; #刷新
(ALTER USER 'root'@'localhost' IDENTIFIED BY '123456' PASSWORD EXPIRE NEVER;
# 密码与上一个命令保持一致
ALTER USER 'root'@'localhost' IDENTIFIED with mysql_native_password BY '123456';
flush privileges; #刷新)可以不用,看情况而定
j、远程连接(两种方法选一个)
1、# 关闭防火墙
systemctl stop firewalld
2、# 开启防火墙
systemctl start firewalld
# 开放3306端口
firewall-cmd --add-port=3306/tcp --permanent
# 刷新添加的端口
firewall-cmd --reload
tar.xz:
a、切换opt文件夹 cd /opt
b、上传数据库压缩包,使用命令tar xvJf (mysql-8.0.20-linux-glibc2.12-x86_64.tar.xz) 数据库包名
c、重命名解压出来的文件夹,这里改成mysql8
mv (mysql-8.0.20-linux-glibc2.12-x86_64)数据库包名 mysql8
#切换到mysql8文件夹下
#在mysql8文件下创建data文件夹
mkdir data
#分别创建用户组以及用户和密码
groupadd mysql
useradd -g mysql mysql
#授权刚刚新建的用户
chown -R mysql.mysql /opt/mysql8/
#初始化数据库(/opt/mysql8这里是dara所在的文件路径,会生成一个临时密码,在最后一行localhost后面就是临时密码)
bin/mysqld --initialize --user=mysql --basedir=/opt/mysql8 --datadir=/opt/mysql8/data
#编辑配置文件my.cnf
vim /etc/my.cnf
[mysqld](原来的[mysqld]下面全部都不要了,把下面的对原来的进行覆盖,把前面空格删除以防有问题)
basedir=/opt/mysql8
datadir=/opt/mysql8/data
socket=/tmp/mysql.sock
character-set-server=utf8
default_authentication_plugin=mysql_native_password
port=3306
ESC退出编辑,:wq!保存退出
d、创建
mkdir /var/log/mariadb
touch /var/log/mariadb/mariadb.log
# 用户组及用户
chown -R mysql:mysql /var/log/mariadb
# 添加Mysql到系统服务(当前目录应为:/opt/mysql8)
cp -a ./support-files/mysql.server /etc/init.d/mysql
chmod +x /etc/init.d/mysql
chkconfig --add mysql
# 检查服务是否生效(前两个和最后一个关其余都开就是成功了)
chkconfig --list mysql
#启动服务
service mysql start
输入mysql -uroot -p
#使用mysql -uroot -p报错的时候
ln -s /opt/mysql8/bin/mysql /usr/bin(无效看h条信息)
#更改密码
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root';
f、远程登录
create user root@'%' identified by 'root';
grant all privileges on *.* to root@'%' with grant option;
h、如果上面的ln -s /opt/mysql8/bin/mysql /usr/bin命令无效
1、添加环境变量
vi /etc/profile
2、添加的内容(路径要和你放的数据库位置一样:如我这里放到opt文件下的mysql8的文件里)
export PATH=$PATH:/opt/mysql8/bin:/opt/mysql8/lib
export PATH
3、刷新
source /etc/profile
若以上的命令显示无权限的时候退到根目录下执行
sudo chmod +x /opt/mysql8/bin/mysql