在https://dev.mysql.com/downloads/repo/yum/网站上下载自己系统对应的包(比如centos7对应的是“mysql57-community-release-el7-11.noarch.rpm”),放到centos的任意位置。把终端cd到.rpm所在的文件目录下。
执行下列语句
sudo rpm -Uvh mysql57-community-release-el7-11.noarch.rpm
安装最新版本的MySQL,直接执行
sudo yum install mysql-community-server
等待安装就可以。
要开始运行MySQL, 执行
sudo service mysqld start
会启动一个
后台运行的MySQL服务。
输入
ps aux | grep mysql
可以查看当前运行的程序中mysql用户(安装数据库时在系统自动创建的用户)下有一个名为“mysqld”的守护进程。
终端中输入
sudo grep 'temporary password' /var/log/mysqld.log
可以获得一个安装时生成的临时的MySQL登录密码“password”。
登录MySQL:
mysql -uroot -p
输入临时密码“password”。
然后在MySQL内部更改一下密码
ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass4!';
默认要求密码必须包含至少8位,其中至少有1个大写字母,1个小写字母,1个数字,还有1个特殊符号。
如果非要修改一个更简单的密码,可以先在MySQL内部输入
set global validate_password_policy=0;
set global validate_password_length=1;
然后就可以把密码修改为一个更简单的字符串。
此时数据库已经可以使用了。MySQL下输入:
SELECT User,Host FROM mysql.user;
可以查看当前的所有用户。或者输入
SHOW DATABASES;
查看当前用户下的所有数据库。
如果外部设备想要远程连接MySQL,需要给root用户赋予权限:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'MyNewPass4!' WITH GRANT OPTION;
然后把权限保存到数据库:
FLUSH PRIVILEGES;
还要把CentOS的防火墙设置一下。最简单的方法就是,关闭防火墙。
centos终端下输入:
sudo systemctl stop firewalld.service
可以关闭防火墙。
把防火墙disable掉,防止开机启动:
sudo systemctl disable firewalld.service
这样,其他电脑的Navicat、Qt等软件就可以远程访问MySQL数据库了。
关闭MySQL服务器的后台进程,在CentOS终端输入:
sudo service mysqld stop
更多关于MySQL的操作,参考官网的帮助:
如果忘记密码,可参考 找回mysql root用户的密码