Linux CentOS7.4 安装配置MySQL5.7数据库,官方提供了rpm安装的方式。
官方安装文档
http://dev.mysql.com/doc/mysql-yum-repo-quick-guide/en/
1、下载mysql源安装包:
# wget http://repo.mysql.com/mysql57-community-release-el7-10.noarch.rpm
或者自己去官网下载(版本自己选择,目前到了mysql80版本):https://dev.mysql.com/downloads/repo/yum/
Red Hat Enterprise Linux 7 / Oracle Linux 7 (Architecture Independent), RPM Package | 25.2K | |||
(mysql80-community-release-el7-1.noarch.rpm) | MD5: 739dc44566d739c5d7b893de96ee6848 | |||
Red Hat Enterprise Linux 6 / Oracle Linux 6 (Architecture Independent), RPM Package | 25.2K | |||
(mysql80-community-release-el6-1.noarch.rpm) | MD5: f2befc44a4b8416864987b1686c4a72b | |||
Fedora 29 (Architecture Independent), RPM Package | 28.5K | |||
(mysql80-community-release-fc29-1.noarch.rpm) | MD5: 5789db76e4aa852b3aba1b567b18e3ef | |||
Fedora 28 (Architecture Independent), RPM Package | 29.8K | |||
(mysql80-community-release-fc28-1.noarch.rpm) | MD5: 5249ce5e0a1019546cd2eb7c70961f |
2、安装mysql源
# rpm -Uvh mysql57-community-release-el7-10.noarch.rpm
3、安装mysql服务端
# yum install -y mysql-community-server
若结尾出现Complete!, 则MySQL安装完成。
4、启动mysql服务
# systemctl restart mysqld
5、检查mysql 的运行状态
# service mysqld start
Redirecting to /bin/systemctl start mysqld.service
# systemctl status mysqld.service
6、查看MySQL初始密码:
Mysql5.7默认安装之后root是有密码的。
Mysql5.7默认安装之后root是有密码的。为了加强安全性,MySQL5.7为root用户随机生成了一个密码,在error log中,关于error log的位置,如果安装的是RPM包,则默认是/var/log/mysqld.log。
只有启动过一次mysql才可以查看临时密码
# grep 'A temporary password' /var/log/mysqld.log
2018-12-27T05:12:55.432374Z 1 [Note] A temporary password is generated for root@localhost: IxQuipv>4j=m
IxQuipv>4j=m 这个就是默认的密码。
7、更改MySQL密码:
# mysqladmin -u root -p'旧密码' password '新密码'
如果因为密码太过简单的原因,导致更改失败。有两个接解决方法:
方法一:把密码设置复杂点(这是最直接的方法)
方法二:关闭mysql密码强度验证(validate_password)
编辑配置文件:vim /etc/my.cnf, 增加这么一行validate_password=off
编辑后重启mysql服务:systemctl restart mysqld
方法三:直接跳过更改密码,重置mysql密码(进入mysql)
使用默认的密码登陆
#mysql -uroot -p
Enter password: 输入默认密码
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES) -->出现这个错误就需要重置密码。
<1>.重置密码的第一步就是跳过MySQL的密码认证过程,方法如下:
#vim /etc/my.cnf
在文档内搜索mysqld定位到[mysqld]文本段:
/mysqld(在vim编辑状态下直接输入该命令可搜索文本内容)
在[mysqld]后面任意一行添加“skip-grant-tables”用来跳过密码验证的过程,如下图所示:
保存文档并退出:#:wq
<2>.接下来我们需要重启MySQL:
# systemctl restart mysqld
<3>.重启之后输入
#mysql即可进入mysql。
<4>.接下来就是用sql来修改root的密码
mysql> use mysql;
mysql> update user set password=password("你的新密码") where user="root";
mysql> flush privileges;
mysql> quit;
到这里root账户就已经重置成新的密码了。
<5>.#vim my.cnf,去掉刚才添加的内容"“skip-grant-tables",然后重启MySQL。大功告成!
8、最后一步授权其他机器,终端登陆到Linux CentOS7.4 安装配置MySQL数据库
#mysql
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '你的密码' WITH GRANT OPTION;
Query OK, 0 rows affected, 1 warning (0.00 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.01 sec)
这样就可以通过远程终端,例如Navicat Premium 12,访问到mysql服务器了。
扩展:查看mysql服务器端口命令:
#mysql
mysql> show global variables like 'port';
mysql端口号的修改
1、编辑/etc/my.cnf文件 :# vi /etc/my.cnf
2、添加: port=3605;
3、重启mysql :systemctl restart mysqld