Linu下的Mysql学习详解_【all】
Linux下Mysql简介
1.什么是Mysql(MariDB)
1.数据库:存储数据的仓库
2.关系型数据库:mysql(主流用5.5,5.6), oracle
本质:二维表
非关系型数据库:radis(数据写入内存中,也可以写入磁盘,使用key_value)
nosql not only sql --> 以高效,高性能为目的
3.优点:根磁盘打交道,保持数据一致性,安全,开源免费(减低成本)
性能好,体积小,易安装,易维护,支持多操作系统,多语言开发
缺点:速度慢
Linux下Mysql安装
准备工作
Mysql下载
链接:https://pan.baidu.com/s/1Xw9dzlGFCqqZfqzFHqkGqw 密码:9csz
1 2 3 4 | useradd mysql -M -s /sbin/login tar xf mysql-5.5.33-linux2.6-x86_64. tar .gz ln -s mysql-5.5.33-linux2.6-x86_64 mysql mv mysql mysql-5.5.33-linux2.6-x86_64 /usr/local/ |
1 2 3 | chown mysql.mysql /usr/local/mysql/ -R -->如果没有按照规定路径按照mysql,需要手动替换文件 sed -i 's#/usr/local/mysql#/application/mysql#g' /application/mysql/bin/mysqld_safe /application/mysql/support-files/mysql .server |
初始化数据库
1 2 3 4 | /usr/local/mysql/scripts/mysql_install_db --help 【帮助文档】 /usr/local/mysql/scripts/mysql_install_db --basedir= /usr/local/mysql/ --datadir= /usr/local/mysql/data/ --user=mysql -->生成出一个data目录,代表数据库已经初始化成功并且mysql的root用户生成一个临时密码 -->如果错误,需要删除 rm -rf /usr/local/mysql/data/ *后重新初始化 |
生成mysql配置文件
1 | cp /usr/local/mysql/support-files/my-small .cnf /etc/my .cnf # 本博文以小规模配置为实例,可以选择其他my-medium.cnf/my-large.cnf<br># my-medium.cnf/my-large.cnf 默认开启log记录文件<br># 小配置默认不开启二进制的log记录,可选择性开启 [Mysql的主备是需要开启的]<br># sed -i 's/#log-bin=mysql-bin/log-bin=mysql-bin/g' /etc/my.cnf <br><br> |
配置环境变量(2种)
1 2 3 4 5 6 | 1.vim /etc/profile -->推荐 #mysql PATH= "/usr/local/mysql/bin:$PATH" source /etc/profile 2.直接添加入$PATHchk cp /usr/local/mysql/bin/ * /usr/local/sbin/ |
直接启动mysql
1 | /usr/local/mysql/bin/mysqld_safe &<br><strong>查看启动情况< /strong > |
1 | ps -ef| grep mysqld |
规范的启动mysql -->推荐
1 2 3 4 5 | cp /usr/local/mysql/support-files/mysql .server /etc/init .d /mysqld service mysqld start -->设置开机自启动 chkconfig mysqld on chkconfig --list| grep mysqld |
在shell界面修改密码
1 2 3 4 5 6 7 8 | 设置: mysqladmin -uroot password "root" 登录: mysql -uroot -proot 更改: mysqladmin -uroot -proot password "root2" 安全登录: mysql -uroot –p |
安全优化:
1 2 3 4 5 | 删除 test 库 drop database test ; 删除无用用户 select user,host from mysql.user; -->用户和主机唯一标示一个用户 drop user '' @ 'localhost' ; drop database 库名; |
1 2 3 | create user webserverpt@localhost identified by 'root' ; grant all privileges on *.* to webserverpt with grant option; flush privileges; -->让权限生效,赋权的时候必备的2条命令 |
1 2 3 4 5 6 | delete from mysql.user where user= "root" and host= "host" ; select user(); use mysql; select database(); help show databases; help CREATE VIEW; |
大写以及特殊linux主机名删除用户问题
1 2 3 | drop user root@ 'ftl\_lnmp' ; 删除失败可以采用delete语句 delete from mysql.user where user= '' and host= 'MYSQL' -->正确 flush privilege -->生效配置 |
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】博客园携手 AI 驱动开发工具商 Chat2DB 推出联合终身会员
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 一个超经典 WinForm,WPF 卡死问题的终极反思
· ASP.NET Core - 日志记录系统(二)
· .NET 依赖注入中的 Captive Dependency
· .NET Core 对象分配(Alloc)底层原理浅谈
· 聊一聊 C#异步 任务延续的三种底层玩法
· 互联网不景气了那就玩玩嵌入式吧,用纯.NET开发并制作一个智能桌面机器人(一):从.NET IoT入
· .NET 开发的分流抢票软件,不做广告、不收集隐私
· 一个超经典 WinForm,WPF 卡死问题的终极反思
· 开箱你的 AI 语音女友「GitHub 热点速览」
· 前端实现 HTML 网页转 PDF 并导出