一. 卸载系统自带的mysql
安装前,我们可以检测系统是否自带安装 MySQL
rpm -qa | grep mysql
如果你系统有安装,那可以选择进行卸载:
rpm -e mysql // 普通删除模式
rpm -e --nodeps mysql // 强力删除模式,如果使用上面命令删除时,提示有依赖的其它文件,则用该命令可以对其进行强力删除
使用 find / -name mysql 查询mysql相关文件,并全部删除
[root@localhost local]# find / -name mysql
/run/lock/subsys/mysql
/etc/rc.d/init.d/mysql
/usr/local/mysql
/usr/local/mysql/bin/mysql
/usr/local/mysql/include/mysql
/usr/local/mysql/data/mysql
用 rm -rf 全部删除
rm -rf /run/lock/subsys/mysql ...
rm -rf 搜索出来的文件名(例如 rm -rf /usr/local/mysql)
二. 上传文件
- 把下载好的mysql压缩包上传到服务器
[图片上传失败...(image-954667-1595005630416)]
- 解压文件到啊
/usr/local
目录下, 并 使用mv
命令重命名为mysql
三. 创建mysql组合用户
-
先执行1,2命令查看是否有对mysql进行用户分组,如果没有执行3,4命令
1 cat /etc/group | grep mysql 2 cat /etc/passwd | grep mysql 3 groupadd mysql 4 useradd -r -g mysql mysql
-
对创建的用户进行mysql文件的授权
chown -R mysql:mysql /usr/local/mysql
-
创建
data
文件并授权, 用来存放数据文件mkdir /usr/local/mmysql/data chown -R mysql:mysql data chmod 777 mysql/ 赋予最高权限(所有用户都可以使用)
-
vim /etc/my.cnf
修改mysql的配置文件, 配置如下[mysql] #修改默认字符集 default-character-set=utf8 [mysqld] basedir=/usr/lcoal/mysql datadir=/usr/lcoal/mysql/data port = 3306 #忽略大小写 lower_case_table_names=1 #服务端默认字符集 character-set-server=utf8 #最大连接数 max_connections=2000 #创建数据库时默认数据引擎 default-storage-engine=INNODB explicit_defaults_for_timestamp=true
-
授权my.cnf权限
chmod 777 /etc/my.cnf
-
检查是否有libaio库
rpm -qa|grep libaio
-
没有则安装
yum install libaio
四.安装mysql
-
cd /usr/local/mysql # 初始化MySQL bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data #会生成root的随机密码,需记住此密码,后续登录用到
执行后如下
<img src="C:\Users\allen\AppData\Roaming\Typora\typora-user-images\image-20200717234657572.png" alt="image-20200717234657572" style="zoom:150%;" />
会生成一串的临时密码 ,后续登录用到
-
mysql环境变量&服务自启动相关配置
-
打开profile文件,进行环境变量配置
vim /etc/profile
-
在profile文件最后加入如下语句,并保存退出profile配置文件
export PATH=$PATH:/usr/local/mysql/bin source /etc/profile #使配置文件生效
-
自启动相关配置
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld #添加MySQL到服务 chmod +x /etc/init.d/mysqld chkconfig --add mysqld # 添加MySQL开机启动 chkconfig --list 显示服务列表,如果看到mysqld的服务,并且3,4,5都是”on/开启 “的话则成功 如果是off/关闭,则键入:chkconfig --level 345 mysqld on 命令
-
启动&关闭&重启mysql服务的命令
service mysqld start # 记得启动MySQL服务 service mysqld stop service mysqld restart
-
五.修改密码
-
登录
mysql -u root -p password # 前面初始化的时候生成的密码
-
修改密码
set password=password("new password");# 用之前的临时密码登录成功后设置初始密码 flush privileges;
-
设置授权任何IP地址都可以登录
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '密码' WITH GRANT OPTION; flush privileges;
-
退出mysql
exit/quit/Ctrl+D;
六. 修改防火墙设置,开发3306端口,远程可以连接
-
查看防火墙开放的端口
firewall-cmd --list-ports
-
如果没有3306端口,是连接不上的,输入下面命令,使防火墙开放 3306端口(使用TCP协议的/永久开放的/公开的性质)
firewall-cmd --zone=public --add-port=3306/tcp --permanent
-
重启防火墙
firewall-cmd --reload
接下来就可以进行远程连接mysql数据库了。
如果说用的阿里云或者什么有安全组的管理,还得去网站的控制台去操作一下。
注意:
chown
和chmod
这两个命令容易混淆
chown
是改变拥有者以及所属组,例如chown -R mysql:mysql mysql # 改变mysql文件的拥有者为mysql用,以及所属组mysql
chmod
是授权,给文件或者文件夹授予权限chmod 777 mysql # 授权给mysql 所有权限