mysql安装

检查是否安装mariadb

首先检查服务器是否安装过mariadb

rpm -qa | grep mariadb

如果有类似,需要把他卸载

rpm -e --nodeps mariadb-libs-5.5.68-1.el7.x86_64

安装mysql的依赖包libao

yum install libaio

安装mysql

下载mysql

mysql下载地址

下载此版本:

下载之后,上传至服务器

解压mysql

解压

tar -zxvf mysql-8.0.26-el7-x86_64.tar.gz

解压之后,把解压的文件夹移动到/usr/local/mysql

mv mysql-8.0.26-el7-x86_64 /usr/local/mysql

创建data文件夹

进入mysql文件夹,创建data文件夹

cd /usr/local/mysql
mkdir data

创建mysql组:创建mysql用户,并设置密码。

useradd mysql
passwd mysql

将mysql目录的权限授给mysql用户和mysql组。

chown -R mysql:mysql /usr/local/mysql

赋予权限

chmod -R 777 /usr/local/mysql
chmod -R 777 /usr/local/mysql/data

创建my.cnf配置文件

touch /usr/local/mysql/my.cnf

编辑配置文件

vi my.cnf

my.cnf内容

[mysqld]
# 设置3306端口
port=3306
# 设置mysql的安装目录
basedir=/usr/local/mysql
# 设置mysql数据库的数据的存放目录
datadir=/usr/local/mysql/data
# 允许最大连接数
max_connections=100
# 允许连接失败的次数。这是为了防止有人从该主机试图攻击数据库系统
max_connect_errors=10
# 服务端使用的字符集默认为utf8mb4
character-set-server=utf8mb4
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# 默认使用“mysql_native_password”插件认证
default_authentication_plugin=mysql_native_password
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8mb4
[client]
# 设置mysql客户端连接服务端时默认使用的端口
port=3306
default-character-set=utf8mb4

启动mysql

执行命令,记住随机密码

cd /usr/local/mysql/bin
./mysqld --initialize --console

输入此命令后获取出现密码,在root@localhost的后面,把他记住,如下

再赋予一次权限

因为初始了data文件夹中的文件,都还没有赋予权限

chmod -R 777 /usr/local/mysql
chmod -R 777 /usr/local/mysql/data

启动服务

进入mysql中的support-files文件夹,启动服务

cd /usr/local/mysql/support-files
./mysql.server start

将mysql加入系统进程中

cp mysql.server /etc/init.d/mysqld
# 重启
service mysqld restart

连接mysql并设置密码

创建一个软连接到/usr/bin

ln -s /usr/local/mysql/bin/mysql /usr/bin

连接mysql

mysql -u root -p

1634609326_1_.jpg

输入上面复制的密码

修改密码

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密码';

设置允许远程登录

mysql> use mysql;
mysql> update user set user.Host='%' where user.User='root';
# 应用配置 
mysql> flush privileges;
# 退出mysql
mysql> quit

重启mysql

service mysqld restart

检查3306端口是否开放

firewall-cmd --zone=public --list-ports

开放3306端口

firewall-cmd --zone=public --add-port=3306/tcp --permanent

重启防火墙

firewall-cmd --reload

可能出现的错误

登录mysql的时候报错

mysql: error while loading shared libraries: libncurses.so.5: cannot open shared object file: No such file or directory

解决

安装libncurses

yum install libncurses*

重新登录即可