查看状态
systemctl status mysql
下载mysql
https://downloads.mysql.com/archives/community/
下载mysql压缩包
清华镜像
wget https://mirrors.tuna.tsinghua.edu.cn/mysql/downloads/MySQL-8.0/mysql-8.0.21-el7-x86_64.tar.gz
ftp工具上传到服务器
检查是否装过mysql ,用yum安装过,所以先用yum卸载。如果不是此方式或者没安装过则跳过
yum remove mysql
查看是否有mysql依赖
rpm -qa | grep mysql
卸载
//普通删除模式
rpm -e xxx(mysql_libs)
//强力删除模式,如果上述命令删除时,提示有依赖其他文件,则可以用该命令对其进行强力删除
rpm -e --nodeps xxx(mysql_libs)
检查是否有mariadb
rpm -qa | grep mariadb
卸载mariadb
rpm -e --nodeps mariadb-libs
rpm -e --nodeps mariadb-devel-5.5.65-1.el7.x86_64
安装mysql依赖
yum install libaio -y
解压 mysql文件压缩包
tar -zxvf mysql-8.0.21-el7-x86_64.tar.gz
更名并移动 (可选)
#更名
mv mysql-8.0.21-el7-x86_64 mysql
#移动
mv /opt/mysql/ /usr/local/
切换到mysql目录下,并创建数据库文件存放目录、
mkdir mysqldb
mysql安装\数据存放目录赋予权限
chmod -R 777 /usr/local/softWare/MySQL/mysql8.0.21
chmod -R 777 /usr/local/softWare/MySQL/mysql8.0.21/mysqldb
创建mysql组和用户
#创建组
groupadd mysql
#创建用户
useradd -r -g mysql -s /bin/false mysql
#将用户添加到组
chown -R mysql:mysql ./
修改mysql配置文件
vim /etc/my.cnf
替换内容,注意修改路径
[mysqld]
# 设置3306端口
port=3306
# 设置mysql的安装目录
basedir=/usr/local/mysql/mysql8.0.21
# 设置mysql数据库的数据的存放目录
datadir=/root/software/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客户端连接服务端时默认使用的端口
port=3306
default-character-set=utf8
初始化mysql
进入mysql安装目录
cd /usr/local/mysql/bin/
安装mysql并初始化
./mysqld --initialize --console
启动mysql服务
进入mysql.server服务目录下并启动服务
cd /usr/local/mysql/support-files
./mysql.server start
报错:
./mysqld: error while loading shared libraries: libnuma.so.1: cannot open shared object file: No suc
缺少依赖
解决方法:
yum -y install numactl
报错
重新给mysql安装目录赋予一下权限后,再次执行
chmod -R 777 /usr/local/softWare/MySQL/mysql8.0.21
./mysql.server start
将mysql添加到系统进程中
cp /usr/local/softWare/MySQL/mysql8.0.21/support-files/mysql.server /etc/init.d/mysqld
设置mysql自启动
chmod +x /etc/init.d/mysqld
systemctl enable mysqld
修改root用户登录密码
#登录mysql
cd /usr/local/mysql/bin/
./mysql -u root -p
修改密码为1234
mysql> alter user 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';
设置远程登录
mysql> use mysql
mysql> update user set user.Host='%' where user.User='root';
mysql> flush privileges;
mysql> quit
重启服务且测试
systemctl restart mysql
service mysql restart
查看防火墙开放端口并开放3306端口
firewall-cmd --list-all
firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --reload
//–permanent为永久生效,没有此参数 服务器重启后配置失效
重启linux
reboot
查看mysql服务是否自启动
systemctl status mysql