Linux安装MySQL

标签: Linux MySQL
10人阅读 评论(0) 收藏 举报
分类:

前言

相信大部分程序员,用的的最多的还是会mysql。那在Linux中怎么去安装mysql呢?
在CentOS中默认安装有MariaDB,这个是MySQL的分支,但为了需要,还是要在系统中安装MySQL,
而且安装完成之后可以直接覆盖掉MariaDB。

一、CentOS中安装MySQL

第一步:下载MySQL源

sudo wget http://repo.mysql.com/mysql57-community-release-el7-8.noarch.rpm

注意: 如果在这之前没有提示-bash: wget: command not found,那么还得先安装wget。

sudo yum install wget

第二步:安装MySQL的rpm

 yum -y install mysql57-community-release-el7-8.noarch.rpm

第三步:开始安装MySQL服务器

yum -y install mysql-community-server

这步可能会花些时间,安装完成后就会覆盖掉之前的mariadb。

这样mysql就安装好了,接下来就是一些设置问题了!

二、MySQL基本设置

第一步:启动MySQL数据库,并查看状态

[root@master lance]# systemctl start mysqld.service

查看状态:

[root@master lance]# systemctl status mysqld.service
● mysqld.service - MySQL Server
   Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)
   Active: active (running) since Sun 2018-04-15 12:47:38 CST; 1min 2s ago
     Docs: man:mysqld(8)
           http://dev.mysql.com/doc/refman/en/using-systemd.html
  Process: 18376 ExecStart=/usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid $MYSQLD_OPTS (code=exited, status=0/SUCCESS)
  Process: 18297 ExecStartPre=/usr/bin/mysqld_pre_systemd (code=exited, status=0/SUCCESS)
 Main PID: 18379 (mysqld)
   CGroup: /system.slice/mysqld.service
           └─18379 /usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid

Apr 15 12:47:29 master systemd[1]: Starting MySQL Server...
Apr 15 12:47:38 master systemd[1]: Started MySQL Server.

第二步:重新设置密码

此时MySQL已经开始正常运行,不过要想进入MySQL还得先找出此时root用户的密码,
1)通过如下命令可以在日志文件中找出密码:

[root@master lance]# grep "password" /var/log/mysqld.log
2018-04-15T04:47:32.670170Z 1 [Note] A temporary password is generated for root@localhost: Qeu*ot<1=dVh

或者使用命令

cat /var/log/mysqld.log  | grep password

2)进入数据库中

[root@master lance]# mysql -uroot -p
Enter password:

输入初始密码,此时不能做任何事情,因为MySQL默认必须修改密码之后才能操作数据库:
3)修改数据库初始密码

mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'new password';

这里有个问题,新密码设置的时候如果设置的过于简单会报错:

mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '12345';
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

原因是因为MySQL有密码设置的规范,具体是与validate_password_policy的值有关:

4)修改validate_password_policy规则

mysql> set global validate_password_policy=0;
mysql> set global validate_password_length=1;

设置之后就是我上面查出来的那几个值了,此时密码就可以设置的很简单,例如1234之类的。
到此数据库的密码设置就完成了。

第三步:删除yum源

因为安装了Yum Repository,以后每次yum操作都会自动更新,需要把这个卸载掉:

[root@master lance]# yum -y remove mysql57-community-release-el7-8.noarch.rpm 

三、Linux中MySQL设置远程访问

在MySQL安装完成之后,你想远程连接还需要进行一些设置

第一步:进入到mysql

msyql -uroot -p

第二步:对系统数据库的root账户设置远程访问的密码,与本地的root访问密码并不冲突。

grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option;
 #123456为你需要设置的密码

第三步:防火墙设置一下,不然3306端口还是无法访问。

iptables -I INPUT -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT

第四步:设置完之后,查看一下是否能通过

[root@master lance]# iptables -L -n
Chain INPUT (policy ACCEPT)
target     prot opt source               destination         
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            state NEW tcp dpt:3306

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

注意:如果你想限制访问,可以使用:

iptables -D INPUT -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT
查看评论
    个人资料
    持之以恒
    等级:
    访问量: 715
    积分: 276
    排名: 28万+
    博客专栏
    文章存档
    最新评论