记录下在阿里云linux上安装与配置Mysql

环境:阿里云ECS服务器,系统为centos7.2node

用户:rootmysql

参考博客:https://blog.csdn.net/kunzai6/article/details/81938613 师兄的哈哈哈,还讲了很详细的新建用户和权限设置sql

     https://blog.csdn.net/qq_39005790/article/details/80017186数据库

 

删除原来的数据库:centos

centos7中默认安装了数据库MariaDB,若是直接安装MySQL的话,会直接覆盖掉这个数据库,固然也能够手动删除一下:安全

 

[root@localhost ~]# rpm -qa|grep mariadb  // 查询出来已安装的mariadb
[root@localhost ~]# rpm -e --nodeps 文件名  // 卸载mariadb,文件名为上述命令查询出来的文件

 

而后如今开始将当前目录切换到root也就是:    cd ~服务器

 

 

下载与安装MySQL:网络

这里采用Yum管理好了各类rpm包的依赖,可以从指定的服务器自动下载RPM包而且安装,因此在安装完成后必需要卸掉,不然会自动更新。tcp

1.安装MySQL官方的yum repositoryide

[root@localhost ~]# wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm

2.下载rpm包

[root@localhost ~]# yum -y install mysql57-community-release-el7-10.noarch.rpm

3.安装MySQL服务

[root@localhost ~]# yum -y install mysql-community-server

最后会出现个complete!

4.启动MySQL服务

[root@localhost ~]# systemctl start  mysqld.service

看到相似下面的界面,或者以Starting MySqL server..   started MysqlServer..结尾的就成功启动了

 

还有几个关于MySQL经常使用的命令:

重启:systemctl restart mysqld.service

中止:systemctl stop mysqld.service

查看状态:systemctl status mysqld.service

 

还能够配置MySQL的开机启动:

[root@woitumi-128 ~]# systemctl enable mysqld

[root@woitumi-128 ~]# systemctl daemon-reload   刚刚配置的服务须要让systemctl能识别,就必须刷新配置

 

 

 

 关于登陆MySQL:

登陆命令:

[root@localhost ~]# mysql -u root -p

意思就是用root用户登陆,而后准备输入密码。

第一次启动MySQL后,就会有临时密码,这个默认的初始密码在/var/log/mysqld.log文件中,咱们能够用这个命令来查看:

grep "password" /var/log/mysqld.log

但是不知道是我输错密码仍是不能复制粘贴,一直显示错误:

 

(好吧后面看看这个代码应该是  mysql -u root -p才对,可能这样输入命令就不会有错吧……)

 

而后咱们还能够先跳过密码验证登陆进MySQL:

中止服务:

systemctl stop mysqld.service

修改mMySQL的配置文件:

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('4008') 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。

 

而后就能够用新密码登陆了:

 

sql报错

但这个时候,我试了一下一个简单的sql语句:

 

what???我不是刚刚才设完密码吗??

而后百度了下。说这个状况还要加个这样的改密码的语句:

SET PASSWORD = PASSWORD('密码');

但这个命令又出现了这样的问题:

额百度后知道原来是密码等级太简单,若是你坚持要这样的密码,要改变密码等级:

登陆数据库后,输入

mysql> set global validate_password_policy=0;  //改变密码等级

mysql> set global validate_password_length=4;   //改变密码最小长度

而后再输入刚刚的命令:

SET PASSWORD = PASSWORD('密码');

而后再用 show databases;就没有报错了

 

 

配置远程登陆:

MySQL默认root用户只能本地登陆,若是要远程链接,要简单设置下,这里直接用root来远程登陆不添加其余角色。

使用命令:

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '4008' 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端口:

命令:

firewall-cmd --zone=public --add-port=3306/tcp --permanent;

 

结果说没有运行防火墙:

 

那就先开防火墙咯:

systemctl status firewalld  查看防火墙状态

systemctl start firewalld  打开防火墙

 

 

 

而后再输入那个开放3306端口的命令就好了

firewall-cmd --zone=public --add-port=3306/tcp --permanent;

firewall-cmd --reload  重启防火墙

 

 

 

 

最后的收尾:

1.咱们刚开始说要写在yum的repository,用这个命令就行:

yum -y remove mysql57-community-release-el7-10.noarch

 

2.MySQL设一下utf8:

打开/etc/my.cnf也就是数据库的配置文件,而后在底部复制粘贴:

[mysqld] 

character_set_server=utf8
init_connect='SET NAMES utf8'

采用navicat新建数据库时,须要将编码方式设置为,字符集:utf8 -- UTF-8 Unicode ,排序规则:utf8_general_ci

3.阿里云的服务器中的安全组加入mysql链接的规则。这个很重要否则远程没法链接上。

4.配置文件的说明:

  /etc/my.cnf 这是mysql的主配置文件  /var/lib/mysql mysql数据库的数据库文件存放位置  /var/log mysql数据库的日志输出存放位置

相关文章
相关标签/搜索