rpm -qa | grep mysql
没有就继续安装
一般用的centos的系统都会自带一个系统数据库,那就是mariadb,因为没有激活,只有一个安装好的mariadb-libs-5.5.68-1.el7.x86_64,可以把mariadb-libs-5.5.68-1.el7.x86_64卸载。
rpm -qa | grep mariadb
#卸载mariadb
rpm -e --nodeps mariadb-libs-5.5.68-1.el7.x86_64
#卸载完查看还有没有mariadb
rpm -qa | grep mariadb
已经看不到mariadb,可以认为已经卸载完成了
下载地址:MySQL :: Download MySQL Community Server
如果要下载历史版本,则点击Archives
下载完成后,将该压缩文件上传到centos相应的目录上,我这里放在/usr/local (最好放在这里,否则后面的可能还需要改mysql的默认地址)
tar -zxvf mysql-5.7.44-linux-glibc2.12-x86_64.tar.gz
mv mysql-5.7.44-linux-glibc2.12-x86_64 mysql
groupadd mysql
useradd -r -g mysql mysql
创建完之后可以查看一下
cat /etc/group | grep mysql
cat /etc/passwd |grep mysql
#切换到刚刚下载的mysql文件夹对应的目录下 #更改文件的用户组和用户
[root@mysql local]# chown -R mysql:mysql mysql
#给mysql目录下的所有文件加执行权限
[root@mysql local]# chmod -R 775 mysql
#更改完之后ll可以查看一下
[root@mysql local]# ll
#把这个写到配置文件里,路径不同,记得要修改路径
echo "export PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile
#生效配置文件
source /etc/profile
# 检查环境变量是否配置成功
mysql --version
如果出现版本号,则表示MySQL环境变量配置成功了
#切换到mysql目录下
cd mysql
# 生成临时数据库密码
mysqld --user=mysql --initialize --datadir=/usr/local/mysql/data
注意:这里的临时密码需要记住 XZpe5wYLP2*+
# 在mysql目录下复制启动文件到/etc/init.d/目录
cp -ar support-files/mysql.server /etc/init.d/mysqld
如果你要做mysql性能优化,那么熟悉my.cnf 的相关参数是必不可少的。
my.cnf文件可以自定义位置,也可以使用如下默认的位置,只要放在默认位置,MySQL自动识别:
/etc/my.cnf 全局选项
/etc/mysql/my.cnf 全局选项
...
配置详情请看
https://www.cnblogs.com/zhangweizhong/p/12179438.html
我这边截取部分常用配置
[mysqld]
# 指定Mysql数据库的开放端口。
port = 3306
# 设置Mysql数据库的安装目录(绝对路径)。
basedir = /usr/local/mysql
# 设置Mysql数据库的数据存放的绝对路径(存放目录)。必须是data,或者是\\xxx-data(my.ini需要,my.cnf不需要)。
datadir = /usr/local/mysql/data
# 设置MySQL数据库的最大连接数量。如果服务器的并发连接请求量比较大,建议调高此值,以增加并行连接数量。可以过'%connect%'通配符查看当前状态的连接数量,以定夺该值的大小。
max_connections = 100
# 设置MySQL数据库的连接超时时间。默认设置是一个数据库连接超过8小时没有使用,达到了server端的timeout,服务器将断开这条连接,此后再通过这个connection发起查询操作都将失败。超时等待时间,单位秒,即一个connection在若干秒内无响应,则服务器切断与这个客户端的连接。
wait_timeout = 28800
# 当没有数据库请求时,28800秒(即8小时)将自动断开连接。要同时设置interactive_timeout和wait_timeout才会生效。
interactive_timeout = 28800
保存后,给配置文件加上可执行权限
chmod -R 775 /etc/my.cnf
启动之前我们先查询有没有启动过
ps -ef|grep -v grep |grep mysql
ps -ef|grep -v grep |grep mysqld
没有启动过,接下来,我们开始启动mysql
#启动mysql服务
/etc/init.d/mysqld start
启动成功!!!
mysql -uroot -pXZpe5wYLP2*+
登录mysql ,密码就是初始化时生成的临时密码;
登录进来之后,我们来修改密码
#修改密码为123456
set password for root@localhost = password('123456');
这样就是密码修改成功,然后我们退出重新登录一下
mysql -uroot -p123456
密码修改成功!!!
#登录进来之后,切换到mysql库
use mysql;
#修改用户权限
update user set user.Host='%' where user.User='root';
#刷新权限
flush privileges;
注意:centos7 默认是开启防火墙的,这里我们自己玩玩可以先关闭防火墙
systemctl stop firewalld
然后我们下载一个MySQL的管理工具,我用的是免费的DBeaver,安装完成后,注意要选择MySQL5,因为最新的DBeaver默认是MySQL8的连接器,现在5.7只能选MySQL5
填好服务器地址,用户名密码,点击测试连接
//添加服务
chkconfig --add mysqld
//显示服务列表
chkconfig --list
重启系统
sudo reboot
稍等一会,系统重启后,检查一下是否能正常登录
mysql -uroot -p123456
说明开机启动已经设置成功了!!!