本人在网上试了多种方式都没有成功。网上教程的方法有:
1、使用tar文件,console安装
2、使用deb安装
3、使用apt安装
网上推荐的是2,3,尤其是3.可是本人2,3都没有成功,只能使用传统的tar文件console安装。
环境信息:
操作系统:DEEPIN V20;glib版本–ldd (Debian GLIBC 2.28.21-1+deepin-1) 2.28
一、下载安装包:
地址:https://www.mysql.com/downloads/
二、安装
1、解压
xz -d mysql-8.0.31-linux-glibc2.17-x86_64-minimal.tar.xz
2、解tar
tar -xvf mysql-8.0.31-linux-glibc2.17-x86_64-minimal.tar
3、改名
mv mysql-8.0.31-linux-glibc2.17-x86_64-minimal mysql-8.0.31
4、创建目录
我专门在数据盘中创建的目录,避免系统盘过于肿胀。
1)cd /data //我的数据盘目录
2)mkdir mysql_data
3)cd mysql_data, mkdir data,mkdir log.mkdir binlog
5、创建初始化文件
touch …/mysql-8.0.31/mysql.cnf
文件内容如下:
[mysqld]
设置3306端口
port=3306
设置mysql的安装目录
basedir=/usr/local/mysql/mysql-8.0.31
设置mysql数据库的数据的存放目录
datadir=/data/mysql_data/data
允许最大连接数
max_connections=2000
允许连接失败的次数。
max_connect_errors=10
服务端使用的字符集默认为UTF8MB4
character-set-server=UTF8MB4
创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
默认使用“mysql_native_password”插件认证
#mysql_native_password
default_authentication_plugin=mysql_native_password
时区使用东8区
default-time-zone=‘+08:00’
#sql_mode=“STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION”
[mysql]
设置mysql客户端默认字符集
default-character-set=UTF8MB4
[client]
设置mysql客户端连接服务端时默认使用的端口
port=3306
default-character-set=UTF8MB4
log-error=/data/mysql_data/log/mysql.log
log-bin=/data/mysql_data/binlog/binlog
pid-file=/usr/local/mysql/mysql-8.0.31/mysql.pid
user=root
执行初始化
./mysqld --defaults-file=/usr/local/mysql/mysql-8.0.31/mysql.cnf --initialize-insecure --basedir=/usr/local/mysql/mysql-8.0.31 --datadir=/data/mysql_data/data/ --log-error=/data/mysql_data/log/mysql.log --pid-file=/usr/local/mysql/mysql-8.0.31/mysql.pid --port=3306 --log-bin=/data/mysql_data/binlog/binlog –console
中间过程我的屏幕没有输出,应该是成功了,检查mysql_data下面的目录,都已经不是空目录了。
6、启动测试
/usr/local/mysql/mysql-8.0.31/bin/mysqld --defaults-file=/usr/local/mysql/mysql-8.0.31/mysql.cnf --user=root
7、修改mysql配置
此时的mysql的root用户是没有密码的
1)登录 mysql -u root
2)修改登录方式,可以远程登录
update user set host = ‘%’ where user = ‘root’
3)修改密码
alter user root@‘%’ identified by ‘1qaz@WSX’;
4)刷新权限 flush privileges;
三、创建环境变量
vim /etc/profile
export MYSQL_HOME= /usr/local/mysql/mysql-8.0.31
export PATH=
P
A
T
H
:
PATH:
PATH:MYSQL_HOME/bin
source /etc/profile
四、加入服务并自启动
1)创建配置文件
touch /usr/lib/systemd/system/mysql.service
文件内容:
[Unit]
Description=MySQL Server
Documentation=man:mysqld(8)
Documentation=http://dev.mysql.com/doc/refman/en/using-systemd.html
After=network.target
After=syslog.target
[Install]
WantedBy=multi-user.target
[Service]
User=root
Group=root
ExecStart=/usr/local/mysql/mysql-8.0.31/bin/mysqld --defaults-file=/usr/local/mysql/mysql-8.0.31/mysql.cnf --user=root
LimitNOFILE = 5000
#Restart=on-failure
#RestartPreventExitStatus=1
#PrivateTmp=false
在systemctl配置文件中#号用来表示注释,这里最重要的一行是ExecStart它表示当systemctl去启动mysql时要执行的命令。在你的系统上只要换掉这一句就可以了。
2)service 命令
启动
systemctl start mysql
停止
systemctl stop mysql
状态
systemctl status mysql
自启动
systemctl enable mysql