下载
https://dev.mysql.com/downloads/mysql
切换到 src 目录
cd /usr/local/src
解压
tar -xvf mysql-8.2.0-linux-glibc2.28-x86_64.tar.xz \
-C /usr/local/workspace
说明
-C(change directory) 表示解压到指定目录
切换到 workspace 目录
cd /usr/local/workspace
目录重命名
mv mysql-8.2.0-linux-glibc2.28-x86_64 mysql
切换到 mysql 目录
cd mysql
创建一个名为 mysql 的用户组
groupadd mysql
创建一个名为 mysql 的用户, 并将其添加到 mysql 用户组中
useradd -g mysql mysql
-g(primary group) 指定用户的主用户组
查看用户 mysql 所属的所有用户组
groups mysql
显示 mysql 目录的详细信息
ls -l /usr/local/workspace/mysql
修改 mysql 目录的所有者和所属组
chown -R mysql:mysql /usr/local/workspace/mysql
软连接
ln -s \
/usr/local/workspace/mysql/bin/mysqld \
/usr/bin/mysqld
初始化 mysql 数据库
mysqld \
--initialize \
--user=mysql \
--basedir=/usr/local/workspace/mysql \
--datadir=/usr/local/workspace/mysql/data
错误
error while loading shared libraries: libaio.so.1
解决方法
apt install libaio1
libaio.so.1 是异步I/O库,
允许应用程序进行非阻塞的磁盘读写操作
非阻塞
当调用某个函数或发出一个网络请求时,
程序不会等待这个操作完成就继续执行其他代码
临时密码
A temporary password is generated for
root@localhost: Tq6&)NF4jQa)
配置 my.cnf
vim /etc/my.cnf
启动 mysql
方式1 mysqld
mysqld &
错误
Could not create unix socket lock file
/var/lib/mysql/mysql.sock.lock
解决方法
mkdir /var/lib/mysql
chmod 777 /var/lib/mysql
说明
mysql.sock是数据库与客户端进行通信的套接字文件,
用于在mysql客户端和服务器之间建立本地连接
/var/lib 目录用于存储系统和应用程序的数据文件
方式2 mysqld_safe
软连接
ln -s \
/usr/local/workspace/mysql/bin/mysqld_safe \
/usr/bin/mysqld_safe
# mysqld_safe --user=mysql &
mysqld_safe &
说明
mysqld 直接启动 mysql 服务器
mysqld_safe 是一个封装了 mysqld 的脚本,
在启动 mysqld 之前检查一些配置和环境变量,
并在启动后监控 mysqld 的运行状态
查看错误日志
tail error.log
查找与 mysql 相关的进程
ps -aux | grep mysql
软连接
ln -s \
/usr/local/workspace/mysql/bin/mysql \
/usr/bin/mysql
连接到 mysql 数据库
mysql -u root -p
错误
Can't connect to local MySQL server
through socket '/var/lib/mysql/mysql.sock'
解决方法1
mkdir /var/lib/mysql
chmod 777 /var/lib/mysql
解决方法2
mysql -h 127.0.0.1 -u root -p
设置 root 用户密码为 123456
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
exit
允许远程连接
USE mysql;
UPDATE mysql.user SET host = '%' WHERE User = 'root';
flush privileges;
exit
软连接
ln -s \
/usr/local/workspace/mysql/bin/mysqladmin \
/usr/bin/mysqladmin
关闭 mysql 数据库
mysqladmin -u root -p shutdown
重启 mysql 数据库
mysqladmin -u root -p reload
使用 systemctl 命令管理 mysql 服务
vim /usr/lib/systemd/system/mysql.service
systemctl 命令
查看服务状态 systemctl status mysql
启动 systemctl start mysql
停止 systemctl stop mysql
检查 mysql 是否已设置为开机自动启动
systemctl is-enabled mysql
设置 mysql 开机自动启动
systemctl enable mysql
禁止 mysql 开机自动启动
systemctl disable mysql