Linux(Centos7)下Mysql的安装
1.1 查看mysql的安装路径:
[root@bogon ~]# whereis mysql
mysql: /usr/bin/mysql /usr/lib/mysql /usr/share/mysql /usr/share/man/man1/mysql.1.gz
1.2 查看mysql的安装包:
[root@bogon ~]# rpm -qa|grep mysql
mysql-community-client-5.6.26-2.el6.i686
mysql-community-release-el6-5.noarch
mysql-community-common-5.6.26-2.el6.i686
mysql-community-libs-5.6.26-2.el6.i686
mysql-community-server-5.6.26-2.el6.i686
[root@bogon ~]#
1.3 卸载mysql
[root@bogon ~]# yum remove mysql
删除mysql的数据库文件:删除/var/llib/mysql目录
1.4 安装mysql
第一步:从oracle官方网站下载linux系统对应的mysql的yum源包(地址自行百度吧)
或
链接:https://pan.baidu.com/s/1rGhARrsxJWcQwCODp4X6DQ
提取码:d0x6
第二步:把yum源包上传到linux,安装。
[root@bogon ~]# yum localinstall mysql-community-release-el6-5.noarch.rpm
[root@bogon ~]# yum install mysql-server
第三步:启动mysql,查看状态
[root@bogon ~]# systemctl start mysqld
[root@bogon ~]# systemctl status mysqld
第四步:给root用户设置密码
[root@bogon ~]# mysql -uroot -p (直接点击回车,密码为空)
mysql> use mysql;
mysql> update mysql.user set authentication_string=password('123456') where user='root';
mysql> flush privileges;
第五步:远程连接授权
注意:需要替换成实际的用户名和密码。
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
1.5 Rpm安装法
如果没有网络环境可以使用参考资料中的mysql-rpm文件夹下的mysql安装包来安装。
百度云链接:https://pan.baidu.com/s/1JNwFeXoiWc77v6py_1JzNQ
提取码:ngr3
[root@bogon mysql-rpm]# rpm -ivh mysql-community-*
安装后,启动服务、设置密码、远程授权后既可以使用。
---------------------------------------------我是快乐的分割线----------后续补充-----------------------------------------------
在线安装MySQL
在CentOS中默认安装有MariaDB,这个是MySQL的分支,但为了需要,还是要在系统中安装MySQL,而且安装完成之后可以直接覆盖掉MariaDB。
1 下载并安装MySQL官方的 Yum Repository
[root@localhost ~]# wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
使用上面的命令就直接下载了安装用的Yum Repository,大概25KB的样子,然后就可以直接yum安装了。
[root@localhost ~]# yum -y install mysql57-community-release-el7-10.noarch.rpm
之后就开始安装MySQL服务器。
[root@localhost ~]# yum -y install mysql-community-server
这步可能会花些时间,安装完成后就会覆盖掉之前的mariadb。
2 MySQL数据库设置
首先启动MySQL
[root@localhost ~]# systemctl start mysqld.service
查看MySQL运行状态,运行状态如图:
[root@localhost ~]# systemctl status mysqld.service
如下看到绿色即可:
[root@localhost ~]# systemctl status mysqld.service ● mysqld.service - MySQL Server Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled) Active: active (running) since Tue 2020-01-14 11:10:00 CST; 43s ago Docs: man:mysqld(8) http://dev.mysql.com/doc/refman/en/using-systemd.html Process: 2756 ExecStart=/usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid $MYSQLD_OPTS (code=exited, status=0/SUCCESS) Process: 2705 ExecStartPre=/usr/bin/mysqld_pre_systemd (code=exited, status=0/SUCCESS) Main PID: 2759 (mysqld) CGroup: /system.slice/mysqld.service └─2759 /usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid
给root用户设置密码:
Mysql5.7默认安装之后root是有密码的
[root@localhost~]# grep 'temporary password' /var/log/mysqld.log
2020-01-14T03:09:57.645938Z 1 [Note] A temporary password is generated for root@localhost: zD&T2irU,PDS
紫色部分就是临时密码
[root@localhost~]# mysql -uroot -p (直接点击回车,输入临时密码)
mysql> use mysql;
mysql> update mysql.user set authentication_string=password('abc123.com') where user='root';
mysql> flush privileges;
远程连接授权:
注意:需要替换成实际的用户名和密码。
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'abc123.com' WITH GRANT OPTION;
3 mysql 修改3306端口(由于被黑客攻击过惨痛经历,所以改端口号会更安全些)
一 修改my.conf端口
vim /etc/my.cnf
看到如下:
datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock port=3389 # Disabling symbolic-links is recommended to prevent assorted security risks symbolic-links=0 log-error=/var/log/mysqld.log pid-file=/var/run/mysqld/mysqld.pid
以上红色处为新增的端口设置信息
保存退出:按 Esc 输入:wq
重启mysql
[root@localhost ~]# systemctl restart mysqld
开启防火墙
查看哪些端口开启:firewall-cmd --list-port
增加端口:firewall-cmd --zone=public --add-port=3306/tcp --permanent
重新加载让配置生效:firewall-cmd –reload
查看端口号是否开启:firewall-cmd --zone=public --add-port=3306/tcp --permanent
开启防火墙:systemctl start firewalld
关闭防火墙:systemctl stop firewalld
禁止开启启动:systemctl disable firewalld
注意:腾讯云、阿里云等等服务器要去 安全组 配置要开启的端口号才能访问
设置开机自启mysql服务:systemctl enable mysql
good luck for you !