Linux下安装MySQL数据库

此安装参考自官方教程

前置准备

  1. 下载地址:https://dev.mysql.com/downloads/mysql/
    MySQL下载地址
  2. 安装所需依赖
yum install -y libaio
  1. 检查系统是否安装mysql/mariadb
rpm -qa | grep mysql

如果有,则卸载

rpm -e --nodeps $(rpm -qa | grep mysql)
rpm -qa | grep mariadb

如果有,则卸载

rpm -e --nodeps $(rpm -qa | grep mariadb)
  1. 关闭防火墙
systemctl disable --now firewalld

安装步骤

  1. 将安装包上传至Linux目录/usr/local下
  2. 创建mysql用户及用户组
groupadd mysql
useradd -r -g mysql -s /bin/false mysql
  1. 进入/usr/local
cd /usr/local
  1. 解压
tar zxvf /usr/local/mysql-5.7.36-linux-glibc2.12-x86_64.tar.gz
  1. 移至/usr/local/mysql
mv mysql-5.7.36-linux-glibc2.12-x86_64 /usr/local/mysql
  1. 配置MySQL环境变量
cat <<EOF>> /etc/profile 
export PATH=\$PATH:/usr/local/mysql/bin
EOF
source /etc/profile
  1. 创建数据存放的目录并且授权750
mkdir -p /data/mysql
chown mysql:mysql /data/mysql/
chmod 750 /data/mysql/
  1. 初始化数据库
mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql/

初始化成功后会显示
MySQL初始化成功
标记部分是MySQL root用户的初始密码

  1. 配置my.cnf配置文件
cat <<EOF>/etc/my.cnf
[mysqld]
default-time-zone = '+08:00'
character-set-client-handshake = FALSE
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
init_connect = 'SET NAMES utf8mb4'
lower_case_table_names = 1

user=mysql 
port = 3306
server_id = 1
basedir = /usr/local/mysql
datadir = /data/mysql
socket = /tmp/mysql.sock

sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

#####性能配置BEGIN################
#expire_logs_days=7
#back_log=300
#max_connections=5000
#max_connect_errors=30
#table_cache=4096
#open_files_limit=10240
#thread_concurrency=64
#max_allowed_packet=100000000
#net_buffer_length=100000
#interactive_timeout=300
#wait_timeout=300
#thread_cache_size=100
#slow_query_log=1
#long_query_time=5
#sort_buffer_size=2M
#read_buffer_size=2M
#read_rnd_buffer_size=250K
#join_buffer_size=250K
#tmp_table_size=64M
#table_open_cache=5000
#key_buffer_size=32M
#query_cache_size=64M
#thread_stack=250K
#innodb_buffer_pool_size=12G
#innodb_additional_mem_pool_size=16M
#innodb_file_io_threads=4
#innodb_thread_concurrency=16
#innodb_log_buffer_size=8M
#innodb_log_file_size=512M
#innodb_log_files_in_group=3
#innodb_lock_wait_timeout=120
#####性能配置END################

[mysql]
default-character-set=utf8mb4
EOF
  1. 启动MySQL服务
/usr/local/mysql/support-files/mysql.server start
  1. 设置开机启动MySQL(可选)

配置mysqld.service文件

cat <<EOF>>/usr/lib/systemd/system/mysqld.service
[Unit]
Description=MySQL Server
Documentation=man:mysqld
Documentation=/doc/refman/en/using-systemd.html
After=network.target
After=syslog.target
[Install]
WantedBy=multi-user.target
[Service]
User=mysql
Group=mysql
ExecStart=/usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf
LimitNOFILE = 5000
EOF
systemctl enable --now mysqld
  1. 修改MySQL root密码(可选)

不建议使用mysqladmin 命令修改,如果密码存在特殊的符号会导致命令不生效;
错误提示

建议使用以下方式修改MySQL密码:

# 使用初始化得到的密码登录MySQL
$ mysql -uroot -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.7.36

Copyright (c) 2000, 2021, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

#执行修改密码语句
mysql> set password for root@localhost = password('新密码');
Query OK, 0 rows affected, 1 warning (0.00 sec)

  1. 设置允许MySQL远程登陆(可选)

授权所有IP都可以远程登陆root用户

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root密码' WITH GRANT OPTION;

刷新数据库权限

FLUSH PRIVILEGES;

自此MySQL安装完成!

Issue

  • mysqld: error while loading shared libraries: libnuma.so.1: cannot open shared object file: No such file or directory
    问题原因:缺少依赖
    解决办法:
yum -y install numactl
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大物始于小

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值