Linux下MYSQL的初始化和配置

一、初始准备(一)服务初始化(二)启动MYSQL(三)MYSQL登录

二、设置远程登录(一)确认网络(二)关闭防火墙(三)Linux下修改配置

一、初始准备

先去官网把需要的MYSQL版本下载并安装好,网上具体下载的方法蛮多的,这里就不赘述了。

(一)服务初始化

为了保证数据库目录与文件的所有者为 mysql 登录用户,如果以 root 身份运行 mysql 服务,需要执行下面的命令:

mysqld --initialized --user==mysql

说明:–initialize选项默认以“安全”模式来初始化,为 root 用户生成一个密码并将该密码标记为过期 ,登录后需要设置一个新密码。生成的临时密码会往日志中记录一份。

查看密码:

cat /var/log/mysqld.log

(二)启动MYSQL

--1.启动:systemctl start mysqld

--2.关闭:systemctl stop mysqld

--3.重启:systemctl restart mysqld

--4.查看状态:systemctl status mysqld

mysqld 这个可执行文件就代表着 MySQL 服务器程序,运行这个可执行文件就可以直接启动一个服务器进程。

5.查看进程:

ps -ef | grep -i mysql

6.查看mysql服务是否自启动

systemctl list-unit-files|grep mysqld.service

这里默认是enabled。

如不是enabled可以运行如下命令设置自启动

systemctl enable mysqld.service

如果希望不进行自启动,运行如下命令设置

systemctl disable mysqld.service

(三)MYSQL登录

首次登录

mysql -hlocalhost -P3306 -uroot -p

在Enter password:录入前面得到的初始化密码

修改密码

因为初始化密码默认是过期的,所以查看数据库会报错因此需要修改密码:

ALTER USER 'root'@'localhost' IDENTIFIED BY '自定义密码';

之后就可以正常使用数据库了,如果密码过于简单可能会报错。

3.再次登录

mysql -uroot -p

录入已修改的密码即可

二、设置远程登录

小编用的是Navicat,具体方法参考网上教程~配置远程连接Mysql数据库时遇到如下报错信息,这是由于Mysql配置了不支持远程连接引起的。

(一)确认网络

1.在远程机器上使用ping ip地址 保证网络畅通

ping ip地址

2.在远程机器上使用 telnet命令 保证端口号开放访问

telnet ip地址 端口号

(二)关闭防火墙

CentOS6

service iptables stop

CentOS7

systemctl start firewalld.service

systemctl status firewalld.service

systemctl stop firewalld.service

//设置开机启动防火墙

systemctl enable firewalld.service

//设置开机禁用防火墙

systemctl disable firewalld.service

1.查看防火墙状态

systemctl status firewalld.service

2.关闭防火墙

systemctl stop firewalld.service

systemctl disable firewalld.service

(三)Linux下修改配置

1.进入mysql测试:

use mysql;

select Host,User from user;

可以看到 root用户当前配置为localhost

2.修改Host为通配符%

update user set host = '%' where user = 'root';

select Host,User from user;

这样 root就变成不限制连接的主机ip

3.使配置立刻生效

flush priviledges;

成功连接!!!

查看原文