Linux下MYSQL的初始化和配置
一、初始准备
先去官网把需要的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;
成功连接!!!
版权归原作者 雷紫go! 所有, 如有侵权,请联系我们删除。