deepin20.1系统安装MySQL8.0.23(超详细的MySQL8安装教程)

(编辑:jimmy 日期: 2024/11/11 浏览:2)

下载MySQL-8.0.23
点击下载:mysql-8.0.23-linux-glibc2.12-x86_64.tar.xz

deepin20.1系统安装MySQL8.0.23(超详细的MySQL8安装教程)

解压MySQL的安装包到一个目录(这里我选择的是:/usr/local)

sudo tar -Jxv -f /home/×××shanlin/Downloads/mysql-8.0.23-linux-glibc2.12-x86_64.tar.xz -C /usr/local/

注意:/home/×××shanlin/Downloads/ 是我的浏览器保存文件的目录

创建软链接(操作方便:可以认为是给mysql-8.0.23-linux-glibc2.12-x86_64目录起了一个别名叫mysql)

sudo ln -s /usr/local/mysql-8.0.23-linux-glibc2.12-x86_64 mysql

创建一个目录负责存储MySQL的数据(/data/mysql/data)和生成数据库的连接文件mysql.sock(/var/run/mysqld)

sudo mkdir -p /data/mysql/data
sudo mkdir -p /var/run/mysqld

创建mysql用户组和用户

sudo groupadd mysql
sudo useradd -r -g mysql mysql

给 /data/mysql/data 和 /var/run/mysqld 目录赋予权限

sudo chown mysql:mysql -R /data/mysql/data
sudo chown mysql:mysql -R /var/run/mysqld

创建一个my.cnf文件
通过 which mysqld 命令来查看mysqld的位置:我的是 /usr/local/mysql/bin/mysqld,然后通过 /usr/local/mysql/bin/mysqld --verbose --help |grep -A 1 ‘Default options' 命令来查看my.cnf可以创建的位置:
Default options are read from the following files in the given order:
/etc/my.cnf /etc/mysql/my.cnf /usr/local/mysql/etc/my.cnf /usr/local/mysql/my.cnf ~/.my.cnf
查看/etc/my.cnf、/etc/mysql/my.cnf、/usr/local/mysql/etc/my.cnf、/usr/local/mysql/my.cnf 如果都没找到my.cnf文件,就在 /usr/local/mysql/ 创建一个新的my.cnf文件,下面是my.cnf文件内容:

[mysqld]
bind-address=0.0.0.0
port=3306
user=mysql
basedir=/usr/local/mysql
datadir=/data/mysql/data
socket=/var/run/mysqld/mysqld.sock
log-error=/data/mysql/data/mysql.err
pid-file=/data/mysql/data/mysql.pid
character_set_server=utf8mb4
symbolic-links=0
explicit_defaults_for_timestamp=true
default_authentication_plugin=mysql_native_password
#解决Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)错误
[client]
port=3306
socket=/var/run/mysqld/mysqld.sock
#直接用vim创建my.cnf并写入上面的内容
sudo vim /usr/local/mysql/my.cnf

配置MySQL的环境变量

#mysql 
MYSQL_HOME=/usr/local/mysql
PATH=$PATH:$MYSQL_HOME/bin
export PATH MYSQL_HOME
#把上面的内容写在profile文件的最后
sudo vim /etc/profile
#环境变量立即生效
sudo source /etc/profile

安装MySQL

sudo /usr/local/mysql/bin/mysqld --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql/data --initialize

正常安装后,最后会显示 :
A temporary password is generated for root@localhost: x2yfhWE>0FiR (冒号后是随机密码,每个人都不同)
记住冒号后的随机密码

开启MySQL服务

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

将MySQL进程放入系统进程中

sudo cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld

在 /usr/bin 下建立指向MySQL的软连接

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

使用随机密码登录MySQL数据库

mysql -u root -p

为root用户设置新密码

alter user 'root'@'localhost' identified by '123456';