站长资源数据库
deepin20.1系统安装MySQL8.0.23(超详细的MySQL8安装教程)
下载MySQL-8.0.23
点击下载:mysql-8.0.23-linux-glibc2.12-x86_64.tar.xz
解压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';