1、下载
可以官网下载:https://dev.mysql.com/downloads/,然后上传到Linux服务器,也可以直接在Linux执行下面的命令下载
wget https://repo.mysql.com//mysql80-community-release-el7-1.noarch.rpm
或者从百度网盘下载:
链接: https://pan.baidu.com/s/10JIkn-Hpl3v3MqWDv_7SVQ 提取码: 6mpt
2、解压
这里我下载的MySQL压缩包是.tar.xz格式的,所以要使用命令tar -Jxf mysql-8.0.26-linux-glibc2.12-x86_64.tar.xz
解压
可以看到解压后的文件:mysql-8.0.26-linux-glibc2.12-x86_64
3、移动并重命名
mv mysql-8.0.26-linux-glibc2.12-x86_64 /opt/mysql
4、创建数据库文件夹
进入MySQL文件夹:cd /opt/mysql
创建文件夹:mkdir mysqldb
这个文件夹主要用来保存MySQL的数据的,到时候数据库什么的都在这里面
5、 创建用户及用户组
用户组
groupadd mysql
用户 (用户名/密码)
useradd -g mysql mysql
6、 授权
chown -R mysql.mysql /opt/mysql/
7、初始化数据库
./bin/mysqld --user=mysql --basedir=/opt/mysql/ --datadir=/opt/mysql/mysqldb/ --initialize --lower-case-table-names=1;
后面加上--lower-case-table-names=1
代表着忽略表名大小写。
注意这一步可能会报错,如图:
如果报这种错误./bin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory
,说明没有安装libaio,我们安装一下就可以了
yum install libaio-devel.x86_64
安装过程中记得输入:y 确认安装
安装成功后重新执行一次初始化
出现这种效果就代表初始化成功,记得保存临时密码,也就是root@localhost:后面的那串字符串
8、配置MySQL配置文件
vim /etc/my.cnf
[mysqld]
# 设置3306端口
port=3306
# 设置mysql的安装目录
basedir=/opt/mysql
# 设置mysql数据库的数据的存放目录
datadir=/opt/mysql/mysqldb
# 允许最大连接数
max_connections=10000
# 允许连接失败的次数。这是为了防止有人从该主机试图攻击数据库系统
max_connect_errors=10
# 服务端使用的字符集默认为UTF8
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# 默认使用“mysql_native_password”插件认证
default_authentication_plugin=mysql_native_password
# 忽略表名大小写
lower_case_table_names=1
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[client]
# 设置mysql客户端连接服务端时默认使用的端口
port=3306
default-character-set=utf8
把上面的内容拷贝替换原有的文件,然后按ESC,输入:wq
或者按住Shift+zz
保存并退出编辑
9、建立MySQL服务
添加Mysql到系统服务
cp -a ./support-files/mysql.server /etc/init.d/mysql
chmod +x /etc/init.d/mysql
chkconfig --add mysql
检查服务是否生效
chkconfig --list mysql
10、建立软链接
ln -s /opt/mysql/bin/mysql /usr/bin
11、启动Mysql服务
启动
service mysql start;
停止
service mysql stop;
查看启动状态
service mysql status;
12、登陆Mysql
mysql -uroot -p
输入刚才的临时密码登录MySQL
登录成功后修改密码:ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密码';
开启远程连接
use mysql #选择数据库
update user set host ='%' where user='root'; #给root用户开放权限
FLUSH PRIVILEGES; #刷新文件