下载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' ;
|