deepin20.1系统安装MySQL8.0.23(超详细的MySQL8安装教程)
下载MySQL-8.0.23
点击下载:mysql-8.0.23-linux-glibc2.12-x86_64.tar.xz
解压MySQL的安装包到一个目录(这里我选择的是:/usr/local)
1
|
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)
1
|
sudo ln -s /usr/local/mysql-8.0.23-linux-glibc2.12-x86_64 mysql |
创建一个目录负责存储MySQL的数据(/data/mysql/data)和生成数据库的连接文件mysql.sock(/var/run/mysqld)
1
2
|
sudo mkdir -p /data/mysql/data sudo mkdir -p /var/run/mysqld |
创建mysql用户组和用户
1
2
|
sudo groupadd mysql sudo useradd -r -g mysql mysql |
给 /data/mysql/data 和 /var/run/mysqld 目录赋予权限
1
2
|
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文件内容:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
[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 |
1
2
|
#直接用vim创建my.cnf并写入上面的内容 sudo vim /usr/local/mysql/my.cnf |
配置MySQL的环境变量
1
2
3
4
|
#mysql MYSQL_HOME=/usr/ local /mysql PATH=$PATH:$MYSQL_HOME/bin export PATH MYSQL_HOME |
1
2
3
4
|
#把上面的内容写在profile文件的最后 sudo vim /etc/profile #环境变量立即生效 sudo source /etc/profile |
安装MySQL
1
|
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服务
1
|
sudo /usr/local/mysql/support-files/mysql.server start |
将MySQL进程放入系统进程中
1
|
sudo cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld |
在 /usr/bin 下建立指向MySQL的软连接
1
|
sudo ln -s /usr/local/mysql/bin/mysql /usr/bin |
使用随机密码登录MySQL数据库
1
|
mysql -u root -p |
为root用户设置新密码
1
|
alter user 'root' @ 'localhost' identified by '123456' ; |