文章目录
一、获取MySQL8安装包
1、从MySQL官网下载
访问网址 :https://dev.mysql.com/downloads/mysql/
推荐在Download按钮处点击鼠标右键选择复制链接,稍后在linux服务器命令行窗口中使用wget命令进行下载。如果下载到了本地,就需要使用XFTP等软件将下载好的mysql软件包上传到linux服务器的/usr/local目录下。
2、在镜像站中下载
例如使用清华大学开源软件镜像站,访问https://mirrors.tuna.tsinghua.edu.cn/mysql/downloads/MySQL-8.0/可看到所有mysql镜像资源,现在我们只需要选择其中的mysql-8.0.23-el7-x86_64.tar.gz进行下载即可。
使用wget进行下载:
二、清除遗留的MySQL和MariaDB
1、使用yum remove mysql卸载mysql即其相关依赖
2、检查是否有MariaDB并卸载
# 查询
[root@iZbp1j6knvj40y0objqp4dZ local]# rpm -qa | grep mariadb
mariadb-libs-5.5.68-1.el7.x86_64
# 删除
[root@iZbp1j6knvj40y0objqp4dZ local]# rpm -e --nodeps mariadb-libs-5.5.68-1.el7.x86_64
三、安装MySQL依赖
使用 yum install libaio命令进行依赖安装,如果中途遇到“Is this ok [y/d/N]:”,输入y,然后回车即可
四、解压MySQL安装包并安装
1、解压xz格式的安装包
[root@iZbp1j6knvj40y0objqp4dZ local]# xz -d mysql-8.0.25-linux-glibc2.12-i686.tar.xz
执行上面的命令后会得到一个tar格式的安装包,再对其进行解压
[root@iZbp1j6knvj40y0objqp4dZ local]# tar -xvf mysql-8.0.25-linux-glibc2.12-i686.tar
2、解压gz格式的安装包
tar mysql-8.0.23-el7-x86_64.tar.gz 解压后会得到mysql-8.0.23-el7-x86_64文件夹
3、将解压的文件夹重命名为mysql
[root@iZbp1j6knvj40y0objqp4dZ local]# mv mysql-8.0.23-el7-x86_64 mysql
4、暂时赋予MySQL安装目录最大权限,方便安装
使用命令:
[root@iZbp1j6knvj40y0objqp4dZ local]# chmod -R 777 /usr/local/mysql/
5、创建mysql组合用户
创建组
[root@iZbp1j6knvj40y0objqp4dZ local]# groupadd mysql
创建用户并添加到组
[root@iZbp1j6knvj40y0objqp4dZ local]# useradd -r -g mysql -s /bin/false mysql
将mysql目录所有权给创建的mysql用户
[root@iZbp1j6knvj40y0objqp4dZ local]# chown -R mysql:mysql ./
6、修改MySQL配置文件
[root@iZbp1j6knvj40y0objqp4dZ local]# vi /etc/my.cnf
将原有内容都删除,然后添加以下内容,保存并退出
# mysql服务端相关设置
[mysqld]
# 设置端口
port=3306
# 设置mysql的安装目录
basedir=/usr/local/mysql
# 设置mysql数据库的数据的存放目录
datadir=/usr/local/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
# 设置连接客户端相关配置
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
# [client]是mysql客户端执行的时候才会加载的选项组
[client]
# 默认使用的端口
port=3306
# 字符集
default-character-set=utf8
7、进行安装
进入mysql的bin目录下,再执行./mysqld --initialize --console进行安装初始化
最后会生成一个初始默认密码,如上图中最后一行的 sq3ZidVy?AG)
启动MySQL
先进入mysql的support-files目录,再使用./mysql.server start命令进行启动
[root@iZbp1j6knvj40y0objqp4dZ local]# cd /usr/local/mysql/support-files
[root@iZbp1j6knvj40y0objqp4dZ support-files]# ./mysql.server start
如果启动失败了,再次使用chmod -R 777 /usr/local/mysql重新给mysql安装目录赋予权限,然后执行即可
8、将MySQL添加到系统进程并设置自启动
将mysql添加到系统进程
[root@iZbp1j6knvj40y0objqp4dZ mysql]# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
设置mysql自启动
[root@iZbp1j6knvj40y0objqp4dZ mysql]# chmod +x /etc/init.d/mysqld
[root@iZbp1j6knvj40y0objqp4dZ mysql]# systemctl enable mysqld
9、修改root用户登录密码并设置远程访问
首先使用 ln -s /usr/local/mysql/bin/mysql /usr/bin命令将mysql命令全局化,然后使用mysql -u root -p进行登录,密码为刚才第7步中生成的临时默认密码
设置允许远程访问
# 切换到mysql数据库
use mysql;
# 更新为允许使用root远程访问
update user set user.host = '%' where user.User = 'root';
# 刷新生效改动
flush privileges;
如果为购买的云服务器,此处可能还需要去云服务控制台中,开启3306端口的访问。
五、MySQL常用命令
1、启动MySQL
systemctl start mysql
2、查看mysql状态
systemctl status mysql
3、停止MySQL
systemctl stop mysql
4、重启MySQL
systemctl restart mysql