Linux部署Mysql(服务器)
远程服务器:CentOS 7.6 (本地VM也一样)
连接:XShell 7 与 Xftp 7
1. 下载tar包与准备工作
查看系统的 glibc 版本:(我的是2.17)
rpm -qa | grep glibc
官网下载对应的 Mysql tar包:https://dev.mysql.com/downloads/mysql/
# 查找与mysql相关的软件包并将其从系统中卸载 yum remove mysql # 查找系统中已安装的所有与MySQL相关的RPM软件包 rpm -qa | grep mysql
# 有则删除
rpm -e--nodeps xx
# 查找系统中所有与MariaDB相关的已安装RPM软件包 rpm -qa | grep maridb # 有则删除 rpm -e--nodeps xx
# 安装mysql依赖包 yum install libaio
2. 安装
1) 进入 目录 在路径 /usr/local 下上传 MySQL包
cd /usr/local/
使用 xftp 比较快,将下载到本地的 tar 包放入目录下。
注意下载的包 后缀。针对不同的后缀进行命令解压。
2) 解压:
注意:此处是 .xz 包,下载的是 .tar包的话,使用 tar -zxvf 命令。
tar -Jxvf mysql-8.0.37-linux-glibc2.17-x86_64.tar.xz
3) 重命名:
mv mysql-8.0.37-linux-glibc2.17-x86_64 mysql8
移除命令(可不删):
rm mysql-8.0.37-linux-glibc2.17-x86_64.tar.xz
4) 创建组 创建用户
# 进入 mysql8 安装目录 cd mysql8 # 创建数据库文件存放的文件夹。存放每个数据库的库文件 mkdir mysqldb
# 安装目录赋予权限 chmod -R 777 /usr/local/mysql8/
# 创建组 groupadd mysql # 创建用户 useradd -r -g mysql -s/bin/false mysql # 将用户添加到组 chown -R mysql:mysql ./
第一个 mysql 为用户 :mysql 为组。
5) 修改配置文件
# 修改mysql配置文件 vim /etc/my.cnf # 配置文件如下: [mysqld] # 设置3306端口 port=3306 # 设置mysql的安装目录 basedir=/usr/local/mysql8 # 设置mysql数据库的数据的存放目录 datadir=/usr/local/mysql8/mysqldb # 允许最大连接数 max_connections=10000 # 允许连接失败的次数。这是为了防止有人从该主机试图攻击数据库系统 max_connect_errors=10 # 服务端使用的字符集默认为UTF8 character-set-server=UTF8 # 创建新表时将使用的默认存储引擎 default-storage-engine=INNODB # 默认使用“caching_sha2_password”插件认证 default_authentication_plugin=caching_sha2_password [mysql] # 设置mysql客户端默认字符集 default-character-set=utf8 [client] # 设置mysql客户端连接服务端时默认使用的端口 port=3306 default-character-set=utf8
6) 安装自启
# 进入 bin 目录下 cd /usr/local/mysql8/bin # 执行安装命令 ./mysqld --initialize --console
密码:3gh!9vQd!)WT
# 进入 mysql.server 服务目录下并启动服务 cd /usr/local/mysql8/support-files # 启动 ./mysql.server start
出错很正常,重新为mysql安装目录赋予权限再执行。
# 赋予权限 chmod -R 777 /usr/local/mysql8
# 再次启动
./mysql.server start
# 将mysql加入系统进程中 cp /usr/local/mysql8/support-files/mysql.server /etc/init.d/mysqld
# 设置 mysql 自启 chmod +x /etc/init.d/mysqld # 开机自启 systemctl enable mysqld
# 修改root 用户登录密码 cd /usr/local/mysql8/bin/ # 修改密码 ./mysql -u root -p # 输入刚才找到的密码 # 进入 mysql> 修改密码 alter user 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456'; # 切换数据库 use mysql # 修改主机地址 update user set user.Host='%'where user.User='root'; # 刷新一下 flush privileges; # 退出 quit
7) 连接
# 重启服务并且测试
systemctl status mysql
8) 内存不够可以清除缓存
# 查看内存 free -h # 清除缓存 echo 1 > /proc/sys/vm/drop_caches