linux 学习 mysql安装到连接
目录
- 下载与安装
1.方法一(本地*)
2.方法二(本地不*) - 初始化和配置
1.初始化mysql
2.远程访问的设置
3.用户组权限的修改
ps:一般mysql安装后会在/var/log/下面生成一个mysqld.log文件,如果遇到启动不了或者其他问题,基本都可以在这个log文件里面找到错误原因
-
下载mysql和安装
下载时自行前往下载,如果本地有*条件,并且网速够快的情况下,可以使用下面的方法
二、先下载linux下的mysql包,打开mysql官网 https://www.mysql.com/ 点击download,进入 https://www.mysql.com/downloads/
到页面最底部,点击社区版 community(gpl)downloads>>,进入 https://dev.mysql.com/downloads/继续点击社区版服务器,进入
https://dev.mysql.com/downloads/mysql/
三、选择版本及系统,点击右侧的download,进入页面
四、最后开始下载
五、下载完成后的包列表,选择版本不同,后面的版本号可能不同,这个没有关系
陈列如下 mysql-community-client-8.0.16-2.el7.x86_64.rpm mysql-community-common-8.0.16-2.el7.x86_64.rpm mysql-community-devel-8.0.16-2.el7.x86_64.rpm mysql-community-embedded-compat-8.0.16-2.el7.x86_64.rpm mysql-community-libs-8.0.16-2.el7.x86_64.rpm mysql-community-libs-compat-8.0.16-2.el7.x86_64.rpm mysql-community-server-8.0.16-2.el7.x86_64.rpm mysql-community-test-8.0.16-2.el7.x86_64.rpm
此方法来自https://www.cnblogs.com/lukefan/p/10406522.html如果本地没有*条件,请使用下面的方法
一、获取mysql yum源 打开网址:https://dev.mysql.com/downloads/repo/yum/,选择对应linux版本
点击“no thanks, just start my download.”,进行下载
将下载地址复制,得到rpm包的地址
此方法来源https://www.cnblogs.com/lemon-feng/p/11233227.html这两种方法的区别是是否要在服务器上下载后面的安装包,按照后面的方法,服务器下载时网速渣的要命(感谢长城),但是可以断点,下次继续下载
在后续安装的时候,可以按照选择的不同办法进行安装,其实都是大同小异,在安装完成之后,建议采用下面的办法进行初始化和配置
-
初始化和配置
顺序执行以下语句
mysqld
mysqld --initialize --user=mysql
mysqld --initialize --lower-case-table-names=1 #此设置是设置大小写是否敏感,可前往https://blog.csdn.net/jesseyoung/article/details/40617031查看是否需要设置
#ps:在mysql8中,大小写敏感设置需要在初始化的时候进行设置,后面在配置中进行更改是无效的,所以慎重选择,不然就需要重装。。。。查看初始密码:
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%';
此时,外部如果还是不能连接上数据库(可查看),首先查看安全规则组,看是否打开了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进行链接了
推荐阅读
-
php入门学习知识点一 PHP与MYSql连接与查询
-
Linux下远程连接MySQL数据库的方法
-
Linux连接mysql报错:Access denied for user ‘root’@‘localhost’(using password: YES)的解决
-
Linux连接mysql报错:Access denied for user ‘root’@‘localhost’(using password: YES)的解决
-
linux连接FreeBSD虚拟机的mysql
-
Linux学习第三篇 Centos7安装mysql5.7.16数据库
-
记录Window系统下myeclipes连接linux下mysql所出现的一个bug
-
linux 下修改mysql下root 权限来允许远程连接
-
解决在Linux操作系统下无法连接MySQL服务端的问题
-
Linux连接mysql报错:Access denied for user ‘root’@‘localhost’(using password: YES)的解决方法