1. 下载MySQL的安装包
1.1 进入官网,找到下载
官网地址: mysql官网
1.2 找到下载入口
1.3 选择这个
1.4找到适合自己电脑系统版本
2. 安装、配置MySQL和创建mysql用户
【注意】最好使用root安装和配置
2.1 解压MySQL的安装包到自己想要的目录,网上都是解压在/usr/local/ 目录中,Linux一般安装软件也都在这个目录下,咱们就也安装在这里
tar -Jxv -f mysql-8.0.18-linux-glibc2.12-x86_64.tar.xz -C /usr/local/
然后再改一下名字,其实改不改都行,主要是为了以后配置方便,这个安装包的名字太长了
cd /usr/local/
mv ..mysql-8.0.18-linux-glibc2.12-x86_64 ./mysql
2.2 创建一个目录负责存储MySQL的数据(/data/mysql/)和生成数据库的连接文件mysql.sock(/var/run/mysqld/),这两个文件目录,都是在my.cnf配置文件里面添加过的(注:网上mysql.sock有存放在/temp下的,MySql启动会由于temp无操作权限,而无法启动,因此放在/var下)
# -p 递归创建目录
mkdir -p /data/mysql/
mkdir -p /var/run/mysqld/
2.3 创建mysql用户组和用户(no-login)
groupadd mysql
useradd -r -g mysql mysql
2.4 给 /data/mysql/ 和/var/run/mysqld/目录赋予权限
chown mysql:mysql -R /data/mysql
chown mysql:mysql -R /var/run/mysqld/
2.5 配置MySQL的配置文件my.cnf
[mysqld]
bind-address=0.0.0.0
port=3306
user=mysql
basedir=/usr/local/mysql
datadir=/data/mysql
socket=/var/run/mysqld/mysqld.sock
log-error=/data/mysql/mysql.err
pid-file=/data/mysql/mysql.pid
character_set_server=utf8mb4
symbolic-links=0
explicit_defaults_for_timestamp=true
skip-grant-tables #初始化后进入数据库就不用输入临时密码
default_authentication_plugin=mysql_native_password #改为通用mysql客户端连接的加密方法
2.6 配置完成,初始化mysql
【注意】初始化mysql要在mysql的bin目录下
#进入bin目录
cd /usr/local/mysql/bin/
#执行初始化命令
./mysqld --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql/ --datadir=/data/mysql/ --user=mysql --initialize
如果没有报错并提示SUCCESS,说明mysql已经安装完成了,接下来就可以启动MySQL了
3. 配置MySQL的环境变量并设置开机启动
【注意】这一部分非必须执行,但是方便起见,最好配置以下,不然以后启动MySQL都要在MySQL的bin目录下执行启动命令才可以!
3.1 配置MySQL的安装路径
使用vim打开 /etc/profile
vim /etc/profile
然后在最后添加以下内容(HOME后面跟的是mysql安装包解压后的路径):
#mysql
export MYSQL_HOME=/usr/local/mysql
export PATH=$PATH:$MYSQL_HOME/bin
3.2 设置mysql服务开机启动
首先拷贝support-files目录下的mysql.server到/etc/init.d目录下,并命名为mysqld
cp [mysql的安装目录]/support-files/mysql.server /etc/init.d/mysqld
然后进入/etc/rc2.d/目录,这是debian默认的启动级别,然后建立连接指向/etc/init.d/mysqld
cd /etc/rc2.d
ln -s /etc/init.d/mysqld S20mysqld
如果不想开始启动myslq服务,就删掉/etc/rc2.d/下的mysqld连接
4. 启动MySQL并初始化密码
4.1 启动MySQL服务
service mysqld start
mysql -u root -p
不用输入密码,一直回车就行。
进入数据库后分别执行
flush privileges;
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的密码';
然后就可以正常连接数据库了。