[software development] deepin20.9系统安装MySQL8.2.0(超详细的MySQL8安装教程)
Tofloor
poster avatar
诸葛非卿
deepin
2023-12-28 19:52
Author

下载MySQL-8.2.0
点击下载:mysql-8.2.0-linux-glibc2.28-x86_64.tar.xz

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

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

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

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

sudo ln -s /usr/local/mysql-8.2.0-linux-glibc2.28-x86_64 /usr/local/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';

防止这篇内容找不到,因此全文复制,改变了一下安装的版本

原文链接地址为:https://www.nhooo.com/note/qahe1b.html

Reply Favorite View the author
All Replies
诸葛非卿
deepin
2023-12-28 19:57
#1

按照上面的安装会产生一些问题,比如每次重新启动系统之后,需要重新启动MySQL,这时候会出现无法启动等问题,我的帖子上面有解决方法,亲测有效

帖子链接地址:https://bbs.deepin.org/zh/post/266477

希望对大家有用。

Reply View the author
阿尼樱奈奈
Moderator
2023-12-28 20:09
#2

上面说是MySQL-8.3.0,然后下载的又是8.2.0?

Reply View the author
YL-Jack
deepin
2023-12-28 20:23
#3

系统是20.1?

Reply View the author
诸葛非卿
deepin
2023-12-29 05:00
#4
阿尼樱奈奈

上面说是MySQL-8.3.0,然后下载的又是8.2.0?

不好意思,版本号弄错了

Reply View the author
诸葛非卿
deepin
2023-12-29 05:02
#5
YL-Jack

系统是20.1?

20.9版本弄错了,抱歉!

Reply View the author
诸葛非卿
deepin
2023-12-29 05:05
#6
YL-Jack

系统是20.1?

版本是社区版20.9,主要是大版本20,至于是第几次修复版本那个其实没有太大关系

Reply View the author