二进制部署MySQL8🌵

下载安装包:

[root@localhost ~]# wget https://downloads.mysql.com/archives/get/p/23/file/mysql-8.0.30-linux-glibc2.12-x86_64.tar.xz

下载依赖:

[root@localhost ~]# yum -y install libaio

解压安装:

[root@localhost ~]# tar -xvf mysql-8.0.30-linux-glibc2.12-x86_64.tar.xz -C /usr/local/
[root@localhost ~]# cd /usr/local
[root@localhost local]# mv mysql-8.0.30-linux-glibc2.12-x86_64/  mysql

创建mysql用户及组:

[root@localhost ~]# groupadd mysql
[root@localhost ~]# useradd -g mysql mysql

创建数据及日志目录:

[root@localhost ~]# mkdir /var/lib/mysql
[root@localhost ~]# chown -R mysql:mysql /var/lib/mysql
[root@localhost ~]# mkdir /var/log/mysql
[root@localhost ~]# chown -R mysql:mysql /var/log/mysql

创建MySQL配置文件:

[root@localhost ~]# vim /etc/my.cnf
[client]
# 默认连接 MySQL 时使用的字符集
default-character-set = utf8mb4
socket=/var/lib/mysql/mysql.sock


[mysqld]
user=mysql
socket=/var/lib/mysql/mysql.sock
port=3306
pid-file=/var/lib/mysql/mysql.pid
basedir=/usr/local/mysql
datadir=/var/lib/mysql

lower_case_table_names = 1

#日志配置
log-error = /var/log/mysql/error.log
slow-query-log = 1
slow-query-log-file = /var/log/mysql/mysql-slow.log
long_query_time = 2
binlog_expire_logs_seconds = 604800

# 字符集设置及排序规则
character-set-server = utf8mb4
collation-server = utf8mb4_general_ci

配置MySQL环境变量:

[root@localhost ~]# vim /etc/profile
export PATH=$PATH:/usr/local/mysql/bin
[root@localhost ~]# source /etc/profile

初始化MySQL:

[root@localhost ~]# /usr/local/mysql/bin/mysqld  --defaults-file=/etc/my.cnf --initialize-insecure --user=mysql

启动MySQL:

[root@localhost ~]# /usr/local/mysql/bin/mysqld_safe --defaults-file=/etc/my.cnf &

使用system管理MySQL(推荐):

[root@localhost ~]# vim /usr/lib/systemd/system/mysql.service
[Unit]
Description=mysql
After=network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
ExecStart=/usr/local/mysql/support-files/mysql.server start
ExecReload=/usr/local/mysql/support-files/mysql.server restart
ExecStop=/usr/local/mysql/support-files/mysql.server stop
PrivateTmp=false
[Install]
WantedBy=multi-user.target

开机自启MySQL:

[root@localhost ~]# systemctl daemon-reload
[root@localhost ~]# systemctl enable --now mysql

登录MySQL并修改密码:

本地首次使用sock文件登录mysql是不需要密码的。

[root@localhost ~]# mysql -S /var/lib/mysql/mysql.sock

mysql> alter user 'root'@'localhost' identified by '123456';
mysql> flush privileges;

修改密码之后就不能用sock登录了

[root@localhost ~]# mysql -uroot -p
Enter password: 
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)

解决方法:

[root@localhost ~]# ln -s /var/lib/mysql/mysql.sock   /tmp/mysql.sock

授予用户权限. 必须先要创建用户, 才能授权!!

mysql> create user 'nagao'@'localhost' identified by '123456';
mysql> grant all privileges on *.*  to 'nagao'@'localhost' with grant option;
posted @   Noleaf  阅读(197)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
· 因为Apifox不支持离线,我果断选择了Apipost!
点击右上角即可分享
微信分享提示