MySQL安装

1. 处理安装包
将安装包放在/usr/local/src/目录下,并解压,得到原始目录mysql-VERSION-OS
命令:tar -xavf mysql-VERSION-OS.tar.gz

2. 安装目录
在/usr/local/目录下创建符号链接mysql,指向解压后的原始目录mysql-VERSION-OS,方便以后通过/usr/local/mysql引用MySQL
命令:ln -s /usr/local/src/mysql-VERSION-OS mysql

3. 创建用户和组
创建用于运行mysqld的默认用户和默认组,通常为mysql : mysql
命令:
groupadd mysql
useradd -g mysql mysql 

4. 清理配置文件
/etc/my.cnf /etc/mysql/my.cnf /usr/local/mysql/etc/my.cnf ~/.my.cnf
按上述顺序依次查看配置文件是否已经存在,若存在,则删除,防止原有配置文件对安装造成干扰。我们使用默认配置

5. 初始化数据目录
进入安装目录,即/usr/local/mysql
① 为保证用户mysql能在安装目录下成功创建数据目录,现将安装目录及该目录下的文件和子目录的属主和属组都设置为用户mysql和组mysql
命令:chown -R  mysql:mysql .

② 执行scripts子目录下的初始化脚本
命令:scripts/mysql_install_db --user=mysql
这将为MySQL生成数据目录data,它位于安装目录/usr/local/mysql中

③ 现在可以将安装目录的属主更改为root,但数据目录的属主必须为mysql
命令:
chown -R root .
chown -R mysql data

6. 启动服务器
以用户mysql的身份,运行服务器
命令:bin/mysqld_safe --user=mysql &
说明:
◇ 如果启动失败,打印"mysqld ended",请到数据目录(/usr/local/mysql/data)中查看错误日志host_name.err或host_name.log,host_name为本地主机名
◇ mysqld启动后,会将数据目录设置为进程的当前工作目录,服务器将在该目录下查找数据库、写各种日志文件以及PID文件
◇ mysqld默认运行端口为3306。要指定其它端口,可以在mysqld_safe命令中使用「--port」选项,例如:
   bin/mysqld_safe --user=mysql --port=13306 &

7. 测试服务器
① 使用mysqladmin,验证服务器运行正常,连接正常
命令:bin/mysqladmin version

② 使用mysqlshow和mysql,验证从服务器获取数据正常
△ 显示数据库
bin/mysqlshow
△ 显示数据库mysql中的表
bin/mysqlshow mysql
△ 从表中获取数据
bin/mysql -e "SELECT User, Host, plugin FROM mysql.user" mysql

8. 账户安全
MySQL的初始用户有两个:root和匿名用户(用户名为空字符串),且两者密码均为空。 通过查询mysql库中的user表可以查看用户信息:


另一方面,mysql库中的db表,允许任何用户,从任何主机,访问test库和所有以test_作为前缀的库,且操作权限很大:


因此,现阶段服务器存在三个安全隐患:
① root账号密码为空
② 存在匿名账号
③ test库可能被非法访问

◇ 设置root密码
bin/mysql -e "update user set Password = password('some_pass') where User = 'root'; flush privileges;" mysql
注:flush privileges使服务器重新加载权限表,否则修改的密码只有等服务器下次重启才能生效

◇ 删除匿名账号
匿名账号的存在会妨碍其它账号的本地访问,假设存在如下账号
"rongxj"@"%"
则该账号本地访问MySQL时,匹配的将是""@"localhost",而非"rongxj"@"%",从而导致账号权限问题,解决方法:
删除全部匿名账号
bin/mysql -e "delete from user where User = ''; flush privileges;" mysql

◇ 修改db表
删除所有账号对test数据库的访问
bin/mysql -e "delete from db where Db like 'test%'; flush privileges;" mysql
或者可以考虑直接删除test数据库
bin/mysql -e "drop database test" mysql

9. 设置外网访问 
当前所有账号的「Host」字段均为「localhost「127.0.0.1「::1」,故MySQL只能本地登录
若需外网访问,可新建账号,重设「Host」字段的值:
create user "root"@"%" identified by "some_pass";
grant all privileges on *.* to "root"@"%";

10. 设置PATH
将/usr/local/mysql/bin加入PATH环境变量,方便运行mysql的命令和工具:
在/etc/profile.d/目录下,新建文件mine.sh,内容为:PATH=/usr/local/mysql/bin:$PATH

1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 、4下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合;、下载 4使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合;、 4下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.m或d论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 、1资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值