查看初始密码:
cat /var/log/mysqld.log #或者 cat /var/log/mysqld.log | grep password 或者文件系统进入/var/log/mysqld.log进行查看
启动mysql服务:
service mysqld start
查看一下服务状态是否启动:
service mysqld status
登入数据库:
mysql -uroot -p
输入或者复制进刚才的随机密码
下面会出现一个输入命令的地方
值得注意的是,在mysql中,每一个执行语句后面要加上一个英文分号,不然不会执行,如果忘记加了,可以在下面的">"后面输入英文分号然后回车,例如
设置远程访问授权
create user "root"@"%" identified with mysql_native_password by "你的密码";
grant all privileges on*.* to "root"@"%"with grant option;
flush privileges;
输入exit退出,打开防火墙开放3306端口,此步骤不在mysql里面执行
如果没有开启防火墙,则输入:systemctl start firewalld 开启
输入下面命令,开放3306端口
firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --reload
配置默认编码为UTF-8,此步骤不在mysql里面执行
修改/etc/my.cnf配置文件,在[mysqld]下添加编码配置,如下所示:
(这个步骤可以使用vim或者xftp进行修改)
character_set_server=utf8
init_connect="SET NAMES utf8"
编辑保存完重启mysql服务: systemctl restart mysqld
查看下编码:mysql> show variables like "%character%";
此时,外部如果还是不能连接上数据库(可查看https://www.cnblogs.com/zzqit/p/10095597.html),首先查看安全规则组,看是否打开了3306端口
如果依然不能访问,进入mysql中,查看用户组权限
(1)进入数据库查看用户表
mysql -u root -p //登录数据库
use mysql //进入mysql数据库
select Host,User from user; //查看可以访问数据库的ip
结果如下:
我们需要的是有一组host=%,user的名字是唯一的用户行,如果出现下面这种也是不可以的
此时用root去链接数据库,数据库不会按照host=%来进行处理,我们可以将
这一行的用户名进行更改,如更改为rootr
update user set user="rootr" where user="root" and host="%";
此时我们在外部就可以使用用户名rootr进行链接了