阿里云服务器安装MySql
-
删除原来的数据库
[root@iz2zehgk5eslkv1sxqfj7bz ~]# rpm -qa|grep mariadb // 查询出来已安装的mariadb [root@iz2zehgk5eslkv1sxqfj7bz ~]# rpm -e --nodeps 文件名 // 卸载mariadb,文件名为上述命令查询出来的文件
-
下载安装MySQL
-
、安装MySQL官方的yum repository 指令1 (指令1和指令2 任选一样即可)
[root@iz2zehgk5eslkv1sxqfj7bz ~]# wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
-
安装MySQL官方的yum repository 指令2
[root@iz2zehgk5eslkv1sxqfj7bz ~]# yum -y remove mysql57-community-release-el7-10.noarch
-
下载rpm包
[root@iz2zehgk5eslkv1sxqfj7bz ~]# yum -y install mysql57-community-release-el7-10.noarch.rpm
-
安装MySQL服务
[root@iz2zehgk5eslkv1sxqfj7bz ~]# yum -y install mysql-community-server
出现complete即为成功
-
启动MySQL服务
[root@localhost ~]# systemctl start mysqld.service
以Starting MySqL server… started MysqlServer…结尾的就成功启动了
-
配置MySQL开机启动
[root@woitumi-128 ~]# systemctl enable mysqld [root@woitumi-128 ~]# systemctl daemon-reload 刚刚配置的服务需要让systemctl能识别,就必须刷新配置
-
记录几个MySQL常用命令
重启:systemctl restart mysqld.service 停止:systemctl stop mysqld.service 查看状态:systemctl status mysqld.service
-
-
登录MySQL
-
停止MySQL服务
systemctl stop mysqld.service
-
修改MySQL配置文件
vi /etc/my.cnf
-
在最后加上配置
skip-grant-tables
-
然后再启动服务
systemctl start mysqld.service
-
此时即可跳过密码登录MYSQL
mysql -u root
登录成功:
-
修改密码
mysql> use mysql; //输入回车 Database changed mysql> update mysql.user set authentication_string=password('123456') where user='root' ;//输入回车 Query OK, 1 row affected, 1 warning (0.00 sec) Rows matched: 1 Changed: 1 Warnings: 1
-
输入 exit 回车,退出mysql,重新在刚刚那个配置文件中去掉skip-grant-tables,然后重启MySQL。
-
修改MySQL登录密码等级
mysql> set global validate_password_policy=0; //改变密码等级 mysql> set global validate_password_length=6; //改变密码最小长度
-
重新设置密码
SET PASSWORD = PASSWORD('密码');
-
测试MySQL:输入show databases;没有报错及登录配置成功
-
-
配置远程登录
-
MySQL默认root用户只能本地登录,如果要远程连接,要简单设置下,这里直接用root来远程登录不添加其他角色。
使用命令:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
*. *的意思是所有库的所有表;To后面跟的是用户名;@后面跟的是ip地址,%代表所有ip地址,identified by后面的是密码。
-
继续执行
mysql> flush privileges;
-
注意:
需要注意mysql的配置文件中的bindaddress 的参数和skip-networking 配置bindaddress : 设定哪些ip地址被配置,使得mysql服务器只回应哪些ip地址的请求),最好注释掉该参数或设置成为127.0.0.1以外的值
skip-networking : 如果设置了该参数项,将导致所有TCP/IP端口没有被监听,也就是说出了本机,其他客户端都无法用网络连接到本mysql服务器,所以应该注释掉该参数
-
-
添加3306端口
-
开启防火墙:
systemctl status firewalld //查看防火墙状态 systemctl start firewalld //打开防火墙
-
输入开放3306端口命令
firewall-cmd --zone=public --add-port=3306/tcp --permanent; firewall-cmd --reload //重启防火墙
-
-
为MySQL设置编码UTF-8
-
打开/etc/my.cnf也就是数据库的配置文件,然后在底部复制粘贴:
[mysqld] character_set_server=utf8 init_connect='SET NAMES utf8'
-
采用navicat新建数据库时,需要将编码方式设置为:
字符集:utf8 – UTF-8 Unicode ,排序规则:utf8_general_ci -
配置文件的说明
/etc/my.cnf 这是mysql的主配置文件 /var/lib/mysql mysql数据库的数据库文件存放位置 /var/log mysql数据库的日志输出存放位置
-
-
使用Navicat连接服务器上的MySQL
-
首先打开Navicat,文件 – 新建连接 – MySQL连接
常规: 主机名或IP地址 填localhost或者是本地IP
端口:3306
用户名和密码:填写阿里云上MySQL的用户名和密码
-
连接服务器上的MySQL,使用SSH连接
这里的主机名或IP地址:服务器公网IP
端口:22
用户名和密码:填写服务器的用户名和密码(不是服务器上MySQL的哦)
-
连接测试,连接成功,大功告成
-