在虚拟机上安装好centOS系统之后,使用的是最小安装的方式,所以在安装MySQL数据库的时候遇到了这样那样的问题,为了以后安装的顺利,因此在此记录整个安装过程。
一、下载MySQL装包
下载地址:https://dev.mysql.com/downloads/mysql/
本人使用的是虚拟机上的centOS7,所以在下载的时候选择的是Linux版本,版本号为5.7.32
二、上传到虚拟机
使用secureCRT软件与虚拟机建立SFTP连接,定位到宿主机刚刚下载的文件的位置,使用put上传到虚拟机上。
三、检查是否自带MySQL
centos7自带是mariadb,一个mysql的变种,使用命令rpm -qa | grep mysql*
可以查看系统上是否有已经安装的MySQL。
四、检查是否有libaio依赖
确认系统中有libaio依赖,使用如下命令:rpm -qa|grep libaio
,使用该命令后没有任何效果,说明系统中不存在libaio依赖,需要安装。同样通过put命令将下载好的依赖上传到虚拟机里面,使用rpm -ivh ****.rpm
安装。
五、新建MySQL用户组和MySQL用户
使用命令groupadd mysql
新建用户组,使用命令useradd mysql -g mysql
新建用户,使用命令passwd mysql
修改mysql用户的密码。新建用户组成功之后,会在/home目录下生成mysql文件夹。
六、切换为mysql用户
使用命令su mysql
切换为mysql用户
六、将MySQL安装包解压到/home/mysql
首先使用命令mv -zxvf mysql-5.7.18-linux-glibc2.5-x86_64.tar.gz /home/mysql
将mysql安装包移动到该目录下,然后使用命令tar -zxvf mysql-5.7.18-linux-glibc2.5-x86_64.tar.gz
,更改文件夹名称为mysql-5.7.32
七、新建data文件夹
进入到mysql-5.7.32目录下新建data文件夹。使用命令ls -l
查看该目录下的文件及文件夹权限归属,如果不是mysql用户,使用命令chown -R mysql:mysql ./
修改文件权限
当所有的文件权限都为mysql时,修改成功
八、安装mysql
./bin/mysqld --user=mysql --basedir=/home/mysql/mysql-5.7.32 --datadir=/home/mysql/mysql-5.7.32/data --initialize
安装完成之后会在最后出现随机生成的登录密码,记录下来,一定要记好
九、修改my.cnf中的内容
my.cnf在/etc目录下,使用命令vi /etc/my.cnf
[client]
port = 3306
default-character-set=utf8
[mysqld]
basedir = /home/mysql/mysql-5.7.32
datadir = /home/mysql/mysql-5.7.32/data
port = 3306
character-set-server=utf8
default_storage_engine = InnoDB
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
十、开启mysql服务,命令如下:
./support-files/mysql.server start
十一、将mysql进程放入系统进程中,命令如下:
cp support-files/mysql.server /etc/init.d/mysqld
十二、重新启动mysql服务
service mysqld restart
十三、建立软连接
使用命令ln -s /mysql-5.7.32 /usr/bin
十四、使用随机密码登录mysql数据库
mysql -u root -p
之后会要求输入密码,输入在第八步记下的密码即可
十五、进入mysql的操作行,设置root用户的登录密码(我设置为rootroot)
alter user 'root'@'localhost' identified by 'rootroot';
在mysql的操作行进行操作的时候,一个语句完成之后一定要加“;”表示语句的结束
十六、设置允许远程连接数据库,命令如下:
- 选择mysql数据库进行操作,使用命令
use mysql;
ps:可以使用show databases;
查看服务上现在有哪些数据库。
- 使用如下命令设置允许远程连接数据库
update user set user.Host='%' where user.User='root';
成功后可以使用命令select host,user from user;
查看该表内的内容是否修改成功。
十七、开放3306端口
firewall-cmd --zone=public --add-port=3306\tcp --permanent
出现success之后,再使用firewall-cmd --reload
使策略生效
十八、大功告成
在windows系统上可以使用数据库图形化管理软件远程连接数据库